import numpy as np import pdb import os from gfdl.experiment import Experiment, DiagTable num_cores = 1 run_idb=True #Step 1: Do a single experiment to compile code then run remaining experiments off this compile. compiled_exp = Experiment('debug',run_idb=run_idb) compiled_exp.inputfiles = [os.path.join(os.getcwd(),'/scratch/pm366/GFDL_2013_FMS/GFDLmoistModel/input/ozone_1990.nc')] #Step 3: Set up the diag table diag = DiagTable() #specify time periods diag.add_file('atmos_daily', 1, 'days', time_units='days') diag.add_file('atmos_monthly', -1, 'days', time_units='days') #Both daily and monthly data - don't specify files and all will be used diag.add_field('dynamics', 'slp', time_avg=True) diag.add_field('dynamics', 'height', time_avg=True) diag.add_field('mixed_layer', 't_surf', time_avg=True) diag.add_field('dynamics', 'ucomp', time_avg=True) diag.add_field('dynamics', 'vcomp', time_avg=True) diag.add_field('dynamics', 'omega', time_avg=True) diag.add_field('dynamics', 'temp', time_avg=True)
import numpy as np import os from gfdl.experiment import Experiment, DiagTable import f90nml #Define our base experiment to compile base_dir=os.getcwd() GFDL_BASE = os.environ['GFDL_BASE'] baseexp = Experiment('realistic_continents_test_experiment', overwrite_data=False) baseexp.inputfiles = [os.path.join(GFDL_BASE,'input/land_masks/era_land_t42.nc'),os.path.join(GFDL_BASE,'input/rrtm_input_files/ozone_1990.nc'), os.path.join(base_dir,'input/ami_qflux_ctrl_ice_4320.nc'), os.path.join(base_dir,'input/siconc_clim_amip.nc')] #Tell model how to write diagnostics diag = DiagTable() diag.add_file('atmos_monthly', 30, 'days', time_units='days') #Tell model which diagnostics to write diag.add_field('dynamics', 'ps', time_avg=True) diag.add_field('dynamics', 'bk') diag.add_field('dynamics', 'pk') diag.add_field('atmosphere', 'precipitation', time_avg=True) diag.add_field('mixed_layer', 't_surf', time_avg=True) diag.add_field('dynamics', 'sphum', time_avg=True) diag.add_field('dynamics', 'ucomp', time_avg=True) diag.add_field('dynamics', 'vcomp', time_avg=True) diag.add_field('dynamics', 'temp', time_avg=True) diag.add_field('dynamics', 'vor', time_avg=True) diag.add_field('dynamics', 'div', time_avg=True)
import numpy as np import os from gfdl.experiment import Experiment, DiagTable import f90nml #Define our base experiment to compile base_dir = os.getcwd() GFDL_BASE = os.environ['GFDL_BASE'] baseexp = Experiment('variable_co2_grey', overwrite_data=False) baseexp.inputfiles = [os.path.join(base_dir, 'input/co2.nc')] #Tell model how to write diagnostics diag = DiagTable() diag.add_file('atmos_monthly', 30, 'days', time_units='days') #Tell model which diagnostics to write diag.add_field('dynamics', 'ps', time_avg=True) diag.add_field('dynamics', 'bk') diag.add_field('dynamics', 'pk') diag.add_field('atmosphere', 'precipitation', time_avg=True) diag.add_field('mixed_layer', 't_surf', time_avg=True) diag.add_field('dynamics', 'sphum', time_avg=True) diag.add_field('dynamics', 'ucomp', time_avg=True) diag.add_field('dynamics', 'vcomp', time_avg=True) diag.add_field('dynamics', 'temp', time_avg=True) diag.add_field('dynamics', 'vor', time_avg=True) diag.add_field('dynamics', 'div', time_avg=True) diag.add_field('two_stream', 'co2', time_avg=True)
import numpy as np import os from gfdl.experiment import Experiment, DiagTable import f90nml #Define our base experiment to compile base_dir = os.getcwd() GFDL_BASE = os.environ['GFDL_BASE'] baseexp = Experiment('mima_test_experiment', overwrite_data=False) baseexp.inputfiles = [ os.path.join(GFDL_BASE, 'input/rrtm_input_files/ozone_1990.nc') ] #Tell model how to write diagnostics diag = DiagTable() diag.add_file('atmos_monthly', 30, 'days', time_units='days') #Tell model which diagnostics to write diag.add_field('dynamics', 'ps', time_avg=True) diag.add_field('dynamics', 'bk') diag.add_field('dynamics', 'pk') diag.add_field('atmosphere', 'precipitation', time_avg=True) diag.add_field('mixed_layer', 't_surf', time_avg=True) diag.add_field('dynamics', 'sphum', time_avg=True) diag.add_field('dynamics', 'ucomp', time_avg=True) diag.add_field('dynamics', 'vcomp', time_avg=True) diag.add_field('dynamics', 'temp', time_avg=True) diag.add_field('dynamics', 'vor', time_avg=True) diag.add_field('dynamics', 'div', time_avg=True)
'equilibrium_t_option': 'top_down', 'ml_depth': 10., 'spinup_time': 10800, 'ka': -20., 'ks': -5. } baseexp.namelist['constants_nml'] = {'orbital_period': 360} baseexp.namelist['astronomy_nml'] = {'obliq': 15} obls = [15] #s End namelist changes from default values for obl in obls: exp = Experiment('top_down_test_obliquity%d' % obl, overwrite_data=True) exp.clear_rundir() exp.use_diag_table(diag) exp.execdir = baseexp.execdir exp.inputfiles = baseexp.inputfiles exp.namelist = baseexp.namelist.copy() exp.namelist['astronomy_nml']['obliq'] = obl exp.runmonth(1, use_restart=False, num_cores=16) for i in range(2, 21): # 81, 161 exp.runmonth(i, num_cores=16)