diff --git a/da/ct/io.py b/da/ct/io.py index 32c9429c1a0cdb7f6c45755e5517a1fad48f3f33..8e1b40965db40b2facea0e634eec2640b8ec58ee 100755 --- a/da/ct/io.py +++ b/da/ct/io.py @@ -1,11 +1,12 @@ #!/usr/bin/env python -# ct_netcdf.py +# io.py """ Author : peters Revision History: File created on 15 Oct 2008. +File modified for CT data assimilation system in July 2010, Wouter Peters """ diff --git a/da/ct/obs.py b/da/ct/obs.py index 56c7d667b329162d5d37755cde46ec328c2c3809..e48663539b25c27cd7bd1380297a3e2a68d95606 100755 --- a/da/ct/obs.py +++ b/da/ct/obs.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# ct_observation_tools.py +# obs.py """ Author : peters @@ -167,7 +167,7 @@ def PrepareObs(CycleInfo,type='forecast'): """ PrepareObs """ import shutil - from ct_tools import DaInfo + from da.tools.general import DaInfo # First, we make a CarbonTracker Observation object which holds all the information related to the mixing ratios going in # and coming out of the model. This object also holds the observations themselves, and the simulated value + statistics @@ -199,10 +199,10 @@ def PrepareObs(CycleInfo,type='forecast'): if __name__ == "__main__": import os import sys - from tools_da import StartLogger - from da_initexit import CycleControl + from da.tools.general import StartLogger + from da.tools.initexit import CycleControl + from da.ct.tools import DaInfo import numpy as np - from ct_tools import DaInfo opts = ['-v'] args = {'rc':'da.rc','logfile':'da_initexit.log','jobrcfilename':'test.rc'} diff --git a/da/ct/optimizer.py b/da/ct/optimizer.py index eba1b8673c8098569aba57e1b58da05359c79db8..ef8e8fd90e18bed8ccf101f48e7e2ad53e1a92e8 100755 --- a/da/ct/optimizer.py +++ b/da/ct/optimizer.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# ct_optimizer_tools.py +# optimizer.py """ Author : peters @@ -65,11 +65,11 @@ if __name__ == "__main__": import os import sys - from tools_da import StartLogger - from da_initexit import CycleControl + from da.tools.general import StartLogger + from da.tools.initexit import CycleControl + from da.ct.tools import DaInfo + from da.ct.statevector import CtStateVector, PrepareState import numpy as np - from ct_tools import DaInfo - from ct_statevector_tools import CtStateVector, PrepareState opts = ['-v'] args = {'rc':'da.rc','logfile':'da_initexit.log','jobrcfilename':'test.rc'} diff --git a/da/ct/statevector.py b/da/ct/statevector.py index 9f68ea75b4f218a815b765b829cad223b8c9b9f0..594ee8ea7ce6fa0602d526f999c78ebecd3bf3e2 100755 --- a/da/ct/statevector.py +++ b/da/ct/statevector.py @@ -39,7 +39,7 @@ class CtMember(): def WriteToFile(self, outdir): """ Write the information needed by an external model to a netcdf file for future use """ - from ct_netcdf import CT_CDF, std_savedict + from da.ct.io import CT_CDF, std_savedict import pycdf as cdf import mysettings import numpy as np @@ -194,9 +194,9 @@ class CtStateVector(): def WriteToFile(self): """ Write the StateVector object to a netcdf file for future use """ - from ct_netcdf import CT_CDF + from da.ct.io import CT_CDF import pycdf as cdf - import mysettings + import da.ct.mysettings import numpy as np outdir = self.CycleInfo.da_settings['dir.output'] @@ -286,7 +286,7 @@ def PrepareState(CycleInfo): """ - from ct_tools import DaInfo + from da.ct.tools import DaInfo # Get the da system specific rc-items, note that they've been validated already by FillObs @@ -318,10 +318,10 @@ def PrepareState(CycleInfo): if __name__ == "__main__": import os import sys - from tools_da import StartLogger - from da_initexit import CycleControl + from da.tools.general import StartLogger + from da.tools.initexit import CycleControl + from da.ct.tools import DaInfo import numpy as np - from ct_tools import DaInfo opts = ['-v'] args = {'rc':'da.rc','logfile':'da_initexit.log','jobrcfilename':'test.rc'} diff --git a/da/ct/tools.py b/da/ct/tools.py index 56b1feef14c30fc6888e37f76c404e9530677047..2b85f7415d0c04e1733d6fb440cab247b74c8980 100755 --- a/da/ct/tools.py +++ b/da/ct/tools.py @@ -90,8 +90,8 @@ if __name__ == "__main__": import os import sys - from tools_da import StartLogger - from da_initexit import CycleControl + from da.tools.general import StartLogger + from da.tools.initexit import CycleControl import numpy as np opts = ['-v'] diff --git a/da/tm5/model.py b/da/tm5/model.py index 662749fd02e3c8c0ded0ff0f0a26d65003344989..ff833d8333a49bf7609964e3a514c5cf61fc0cdb 100755 --- a/da/tm5/model.py +++ b/da/tm5/model.py @@ -310,7 +310,7 @@ def DaInitialize(rc_da_shell): """ - from tools_da import CreateLinks, CreateDirs + from da.tools.general import CreateLinks, CreateDirs # Make an instance of the TM5 class, supply it with a valid rc-file name @@ -361,10 +361,10 @@ if __name__ == "__main__": import sys import logging - import tools_da as tools + from da.tools.general import StartLogger import datetime as dtm - tools.StartLogger() + StartLogger() #tm=TM5('/Users/peters/Modeling/TM5/ct_new.rc') diff --git a/da/tools/general.py b/da/tools/general.py index eb3d5fe90d43a6c283805f1a33d7fad26ab11a5c..c72aca75eb2da3e29909995f4b995c30cfec74ff 100755 --- a/da/tools/general.py +++ b/da/tools/general.py @@ -223,8 +223,8 @@ def PrepareObs(CycleInfo,type='forecast'): file called "observations.nc" which carries the x,y,z,t, dt information of each observation """ if CycleInfo.da_settings['da.system'] == 'CarbonTracker': - import da.ct.ct_tools as da_system - import da.ct.ct_observation_tools as obs + import da.ct.tools as da_system + import da.ct.obs as obs msg = "Using %s as DA system" % da_system.identifier ; logging.debug(msg) @@ -249,9 +249,9 @@ def PrepareState(CycleInfo): """ - if CycleInfo.da_settings['da.system'] == 'CarbonTracker': import ct_statevector_tools as da_system + if CycleInfo.da_settings['da.system'] == 'CarbonTracker': import da.ct.tools - StateVector = da_system.PrepareState(CycleInfo ) + StateVector = tools.PrepareState(CycleInfo ) return StateVector @@ -283,9 +283,9 @@ def RunForecastModel(CycleInfo,step='forecast'): # import modules, note that depending on the type of assimilation system, different submodules are imported! - if CycleInfo.da_settings['forecast.model'] == 'TM5': import tm5_tools as model - elif CycleInfo.da_settings['forecast.model'] == 'SIBCASA': import sibcasa_tools as model - elif CycleInfo.da_settings['forecast.model'] == 'WRF': import wrf_tools as model + if CycleInfo.da_settings['forecast.model'] == 'TM5': import da.tm5.model + elif CycleInfo.da_settings['forecast.model'] == 'SIBCASA': import da.sibcasa.model + elif CycleInfo.da_settings['forecast.model'] == 'WRF': import da.wrf.model ####### FROM HERE ON, PROCESSES ARE MODEL DEPENDENT AND NEED TO BE IMPLEMENTED ON A PER-MODEL BASIS ############ @@ -337,8 +337,8 @@ def Optimize(CycleInfo, StateVector ): """ Perform least-squares minimization""" if CycleInfo.da_settings['da.system'] == 'CarbonTracker': - import ct_tools as da_system - import ct_optimizer_tools as opt + import da.ct.tools as da_system + import da.ct.optimizer as opt DaSystem = da_system.DaInfo(CycleInfo.da_settings['da.system.rc']) diff --git a/da/tools/initexit.py b/da/tools/initexit.py index 4e7da45de3ca0ddaae67d6306d5c4df40086d0af..a37f89f60408436e083c4c36a1e48c227fbc939f 100755 --- a/da/tools/initexit.py +++ b/da/tools/initexit.py @@ -28,9 +28,9 @@ import shutil import rc import datetime -from tools_da import CreateDirs -from tools_da import AdvanceTime -from tools_da import ParseOptions +from da.tools.general import CreateDirs +from da.tools.general import AdvanceTime +from da.tools.general import ParseOptions class CycleControl(): @@ -116,7 +116,7 @@ class CycleControl(): """ Parse time related parameters into datetime objects for later use """ - from tools_da import AdvanceTime + from da.tools.general import AdvanceTime startdate = self.da_settings['time.start'] finaldate = self.da_settings['time.finish'] @@ -215,7 +215,7 @@ class CycleControl(): the da.rc file. The observation input files will be placed in the exec dir, and the resulting simulated values will be retrieved from there as well. """ - from tools_da import CreateDirs + from da.tools.general import CreateDirs # Create the run directory for this DA job, including I/O structure @@ -443,7 +443,7 @@ class CycleControl(): if __name__ == "__main__": - from tools_da import StartLogger + from da.tools.general import StartLogger opts = ['-v'] args = {'rc':'da.rc','logfile':'da_initexit.log'}