Example #1
0
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)
Example #3
0
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)
Example #4
0
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)
Example #5
0
    '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)