def setup_held_suarez_namelist():
    namelist = Namelist({
        'main_nml': {
            'dt_atmos': 600,
            'days': 30,
            'calendar': 'thirty_day',
            'current_date': [2000, 1, 1, 0, 0, 0]
        },
        'atmosphere_nml': {
            'idealized_moist_model':
            False  # False for Newtonian Cooling.  True for Isca/Frierson
        },
        'spectral_dynamics_nml': {
            'damping_order': 4,  # default: 2
            'water_correction_limit': 200.e2,  # default: 0
            'reference_sea_level_press': 1.0e5,  # default: 101325
            'valid_range_t': [100., 800.],  # default: (100, 500)
            'initial_sphum': 0.0,  # default: 0
            'vert_coord_option': 'uneven_sigma',  # default: 'even_sigma'
            'scale_heights': 6.0,
            'exponent': 7.5,
            'surf_res': 0.5
        },

        # configure the relaxation profile
        'hs_forcing_nml': {
            't_zero':
            315.,  # temperature at reference pressure at equator (default 315K)
            't_strat': 200.,  # stratosphere temperature (default 200K)
            'delh': 60.,  # equator-pole temp gradient (default 60K)
            'delv': 10.,  # lapse rate (default 10K)
            'eps': 0.,  # stratospheric latitudinal variation (default 0K)
            'sigma_b':
            0.7,  # boundary layer friction height (default p/ps = sigma = 0.7)

            # negative sign is a flag indicating that the units are days
            'ka':
            -40.,  # Constant Newtonian cooling timescale (default 40 days)
            'ks':
            -4.,  # Boundary layer dependent cooling timescale (default 4 days)
            'kf': -1.,  # BL momentum frictional timescale (default 1 days)
            'do_conserve_energy':
            True,  # convert dissipated momentum into heat (default True)
        },
        'diag_manager_nml': {
            'mix_snapshot_average_fields': False
        },
        'fms_nml': {
            'domains_stack_size': 600000  # default: 0
        },
        'fms_io_nml': {
            'threading_write': 'single',  # default: multi
            'fileset_write': 'single',  # default: multi
        }
    })
    return namelist
Beispiel #2
0
exp.namelist = namelist = Namelist({
    'main_nml': {
        'days': 30,
        'hours': 0,
        'minutes': 0,
        'seconds': 0,
        'dt_atmos': 720,
        'current_date': [1, 1, 1, 0, 0, 0],
        'calendar': 'thirty_day'
    },
    'idealized_moist_phys_nml': {
        'do_damping': True,
        'turb': True,
        'mixed_layer_bc': True,
        'do_virtual': False,
        'do_simple': True,
        'roughness_mom': 3.21e-05,
        'roughness_heat': 3.21e-05,
        'roughness_moist': 3.21e-05,
        'two_stream_gray': True,  #Use grey radiation
        'convection_scheme':
        'SIMPLE_BETTS_MILLER',  #Use the simple Betts Miller convection scheme from Frierson
    },
    'vert_turb_driver_nml': {
        'do_mellor_yamada': False,  # default: True
        'do_diffusivity': True,  # default: False
        'do_simple': True,  # default: False
        'constant_gust': 0.0,  # default: 1.0
        'use_tau': False
    },
    'diffusivity_nml': {
        'do_entrain': False,
        'do_simple': True,
    },
    'surface_flux_nml': {
        'use_virtual_temp': False,
        'do_simple': True,
        'old_dtaudv': True
    },
    'atmosphere_nml': {
        'idealized_moist_model': True
    },

    #Use a large mixed-layer depth, and the Albedo of the CTRL case in Jucker & Gerber, 2017
    'mixed_layer_nml': {
        'tconst': 285.,
        'prescribe_initial_dist': True,
        'evaporation': True,
        'depth': 2.5,  #Depth of mixed layer used
        'albedo_value': 0.31,  #Albedo value used             
    },
    'qe_moist_convection_nml': {
        'rhbm': 0.7,
        'Tmin': 160.,
        'Tmax': 350.
    },
    'betts_miller_nml': {
        'rhbm': .7,
        'do_simp': False,
        'do_shallower': True,
    },
    'lscale_cond_nml': {
        'do_simple': True,
        'do_evap': True
    },
    'sat_vapor_pres_nml': {
        'do_simple': True
    },
    'damping_driver_nml': {
        'do_rayleigh': True,
        'trayfric': -0.25,  # neg. value: time in *days*
        'sponge_pbottom':
        5000.,  #Bottom of the model's sponge down to 50hPa (units are Pa)
        'do_conserve_energy': True,
    },
    'two_stream_gray_rad_nml': {
        'rad_scheme':
        'frierson',  #Select radiation scheme to use, which in this case is Frierson
        'do_seasonal':
        False,  #do_seasonal=false uses the p2 insolation profile from Frierson 2006. do_seasonal=True uses the GFDL astronomy module to calculate seasonally-varying insolation.
        'atm_abs': 0.2,  # default: 0.0        
    },
    'constants_nml': {
        'rotation_period': 20996064,
    },

    # FMS Framework configuration
    'diag_manager_nml': {
        'mix_snapshot_average_fields':
        False  # time avg fields are labelled with time in middle of window
    },
    'fms_nml': {
        'domains_stack_size': 600000  # default: 0
    },
    'fms_io_nml': {
        'threading_write': 'single',  # default: multi
        'fileset_write': 'single',  # default: multi
    },
    'spectral_dynamics_nml': {
        'damping_order': 4,
        'water_correction_limit': 200.e2,
        'reference_sea_level_press': 1.0e5,
        'num_levels': 25,  #How many model pressure levels to use
        'valid_range_t': [100., 800.],
        'initial_sphum': [2.e-6],
        'vert_coord_option':
        'input',  #Use the vertical levels from Frierson 2006
        'surf_res': 0.5,
        'scale_heights': 11.0,
        'exponent': 7.0,
        'robert_coeff': 0.03
    },
    'vert_coordinate_nml': {
        'bk': [
            0.000000, 0.0117665, 0.0196679, 0.0315244, 0.0485411, 0.0719344,
            0.1027829, 0.1418581, 0.1894648, 0.2453219, 0.3085103, 0.3775033,
            0.4502789, 0.5244989, 0.5977253, 0.6676441, 0.7322627, 0.7900587,
            0.8400683, 0.8819111, 0.9157609, 0.9422770, 0.9625127, 0.9778177,
            0.9897489, 1.0000000
        ],
        'pk': [
            0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
            0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
            0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
            0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
            0.000000, 0.000000
        ],
    }
})
Beispiel #3
0
namelist = Namelist({
    'main_nml':{
     'days'   : 30,
     'hours'  : 0,
     'minutes': 0,
     'seconds': 0,
     'dt_atmos':720,
     'current_date' : [1,1,1,0,0,0],
     'calendar' : 'thirty_day'
    },

    'idealized_moist_phys_nml': {
        'do_damping': True,
        'turb':True,
        'mixed_layer_bc':True,
        'do_virtual' :False,
        'do_simple': True,
        'roughness_mom':3.21e-05,
        'roughness_heat':3.21e-05,
        'roughness_moist':3.21e-05,
        'two_stream_gray': False, #Use RRTM, not grey radiation:
        'do_rrtm_radiation':True,
        'convection_scheme': 'FULL_BETTS_MILLER' #Use the full Betts-miller convection scheme
    },

    'vert_turb_driver_nml': {
        'do_mellor_yamada': False,     # default: True
        'do_diffusivity': True,        # default: False
        'do_simple': True,             # default: False
        'constant_gust': 0.0,          # default: 1.0
        'use_tau': False
    },

    'diffusivity_nml': {
        'do_entrain':False,
        'do_simple': True,
    },

    'surface_flux_nml': {
        'use_virtual_temp': False,
        'do_simple': True,
        'old_dtaudv': True
    },

    'atmosphere_nml': {
        'idealized_moist_model': True
    },

    #Use a large mixed-layer depth, and the Albedo of the CTRL case in Jucker & Gerber, 2017
    'mixed_layer_nml': {
        'tconst' : 285.,
        'prescribe_initial_dist':True,
        'evaporation':True,
        'albedo_value': 0.25, #set albedo value
        'depth': 10.,
    },

    'betts_miller_nml': {
       'rhbm': .7   ,
       'do_simp': False,
       'do_shallower': True,
    },

    'lscale_cond_nml': {
        'do_simple':True,
        'do_evap':True
    },

    'sat_vapor_pres_nml': {
        'do_simple':True
    },

    'damping_driver_nml': {
        'do_rayleigh': True,
        'trayfric': -0.5,              # neg. value: time in *days*
        'sponge_pbottom':  150., #Setting the lower pressure boundary for the model sponge layer in Pa.
        'do_conserve_energy': True,
    },

    'rrtm_radiation_nml': {
        'do_read_ozone':True,
        'ozone_file':'ozone_1990',
        'solr_cnst': 1360., #s set solar constant to 1360, rather than default of 1368.22
        'dt_rad': 4320, #Use 4320 as RRTM radiation timestep
        'solday':90,
    },

    # FMS Framework configuration
    'diag_manager_nml': {
        'mix_snapshot_average_fields': False  # time avg fields are labelled with time in middle of window
    },

    'fms_nml': {
        'domains_stack_size': 600000                        # default: 0
    },

    'fms_io_nml': {
        'threading_write': 'single',                         # default: multi
        'fileset_write': 'single',                           # default: multi
    },

    'spectral_dynamics_nml': {
        'damping_order': 4,
        'water_correction_limit': 200.e2,
        'reference_sea_level_press':1.0e5,
        'valid_range_t':[100.,800.],
        'initial_sphum':[2.e-6],
        'vert_coord_option':'uneven_sigma',
        'surf_res':0.2, #Parameter that sets the vertical distribution of sigma levels
        'scale_heights' : 11.0,
        'exponent':7.0,
        'robert_coeff':0.03
    },

    'qflux_nml': {
        'qflux_amp':30.,
        'qflux_width':16.,
    },
})
exp.namelist = namelist = Namelist({
    'main_nml':{
     'days'   : 30,
     'hours'  : 0,
     'minutes': 0,
     'seconds': 0,
     'dt_atmos':600,
     'current_date' : [1,1,1,0,0,0],
     'calendar' : 'thirty_day'
    },
    'socrates_rad_nml': {
        'stellar_constant':1370.,
        'lw_spectral_filename':os.path.join(GFDL_BASE,'src/atmos_param/socrates/src/trunk/data/spectra/ga7/sp_lw_ga7'),
        'sw_spectral_filename':os.path.join(GFDL_BASE,'src/atmos_param/socrates/src/trunk/data/spectra/ga7/sp_sw_ga7'),
        'do_read_ozone': True,
        'ozone_file_name':'ozone_1990',
        'ozone_field_name':'ozone_1990',
        'dt_rad':3600,
        'store_intermediate_rad':True,
        'chunk_size': 16,
        'use_pressure_interp_for_half_levels':False,
        'tidally_locked':False,
        'solday':90
    }, 
    'idealized_moist_phys_nml': {
        'do_damping': True,
        'turb':True,
        'mixed_layer_bc':True,
        'do_virtual' :False,
        'do_simple': True,
        'roughness_mom':3.21e-05,
        'roughness_heat':3.21e-05,
        'roughness_moist':3.21e-05,            
        'two_stream_gray': False,     #Use the grey radiation scheme
        'do_socrates_radiation': True,
        'convection_scheme': 'SIMPLE_BETTS_MILLER', #Use simple Betts miller convection            
        'do_cloud_simple': False, 
        'land_option' : 'input',
        'land_file_name' : 'INPUT/era_land_t42.nc',
        'land_roughness_prefactor' :10.0, 
    },


    'vert_turb_driver_nml': {
        'do_mellor_yamada': False,     # default: True
        'do_diffusivity': True,        # default: False
        'do_simple': True,             # default: False
        'constant_gust': 0.0,          # default: 1.0
        'use_tau': False
    },

    'diffusivity_nml': {
        'do_entrain':False,
        'do_simple': True,
    },

    'surface_flux_nml': {
        'use_virtual_temp': False,
        'do_simple': True,
        'old_dtaudv': True,
	    'land_humidity_prefactor': 0.7,
    },

    'atmosphere_nml': {
        'idealized_moist_model': True
    },

    #Use a large mixed-layer depth, and the Albedo of the CTRL case in Jucker & Gerber, 2017
    'mixed_layer_nml': {
        'tconst' : 285.,
        'prescribe_initial_dist':True,
        'evaporation':True,  
        'depth': 20.0,                          #Depth of mixed layer used
        'albedo_value': 0.2,                  #Albedo value used      
        'land_option': 'input',              #Tell mixed layer to get land mask from input file
        'land_h_capacity_prefactor': 0.1,    #What factor to multiply mixed-layer depth by over land. 
        'albedo_value': 0.25,                #Ocean albedo value
        'land_albedo_prefactor': 1.3,        #What factor to multiply ocean albedo by over land     
        'do_qflux' : False, #Don't use the prescribed analytical formula for q-fluxes
        'do_read_sst' : True, #Read in sst values from input file
        'do_sc_sst' : True, #Do specified ssts (need both to be true)
        'sst_file' : 'sst_clim_amip', #Set name of sst input file
        'specify_sst_over_ocean_only' : True, #Make sure sst only specified in regions of ocean.              
    },

    'qe_moist_convection_nml': {
        'rhbm':0.7,
        'Tmin':160.,
        'Tmax':350.   
    },
    
    'lscale_cond_nml': {
        'do_simple':True,
        'do_evap':True
    },
    
    'sat_vapor_pres_nml': {
           'do_simple':True,
           'construct_table_wrt_liq_and_ice':True
       },
    
    'damping_driver_nml': {
        'do_rayleigh': True,
        'trayfric': -0.5,              # neg. value: time in *days*
        'sponge_pbottom':  150., #Setting the lower pressure boundary for the model sponge layer in Pa.
        'do_conserve_energy': True,      
    },

    # FMS Framework configuration
    'diag_manager_nml': {
        'mix_snapshot_average_fields': False  # time avg fields are labelled with time in middle of window
    },

    'fms_nml': {
        'domains_stack_size': 600000                        # default: 0
    },

    'fms_io_nml': {
        'threading_write': 'single',                         # default: multi
        'fileset_write': 'single',                           # default: multi
    },

    'spectral_dynamics_nml': {
        'damping_order': 4,             
        'water_correction_limit': 200.e2,
        'reference_sea_level_press':1.0e5,
        'num_levels':40,      #How many model pressure levels to use
        'valid_range_t':[100.,800.],
        'initial_sphum':[2.e-6],
        'vert_coord_option':'uneven_sigma',
        'surf_res':0.2, #Parameter that sets the vertical distribution of sigma levels
        'scale_heights' : 11.0,
        'exponent':7.0,
        'robert_coeff':0.03,
        'ocean_topog_smoothing': 0.8
    },

    'spectral_init_cond_nml':{
        'topog_file_name': 'era_land_t42.nc',
        'topography_option': 'input'
    },

})
namelist = Namelist({
    'main_nml': {
        'dt_atmos': 178,  #time step in seconds, multiple of length of day
        'days': 0.,
        'seconds': 30. * 1379678,  #length of time in each .nc file
        'calendar': 'no_calendar'
    },
    'idealized_moist_phys_nml': {
        'do_damping': True,
        'turb': True,
        'mixed_layer_bc': True,
        'do_virtual': False,
        'do_simple': True,
        'roughness_mom': 3.21e-05,
        'roughness_heat': 3.21e-05,
        'roughness_moist': 0.,
        'two_stream_gray': True,  #if 'True' use grey radiation scheme
        'do_lscale_cond': False,
    },
    'vert_turb_driver_nml': {
        'do_mellor_yamada': False,  # default: True
        'do_diffusivity': True,  # default: False
        'do_simple': True,  # default: False
        'constant_gust': 0.0,  # default: 1.0
        'use_tau': False
    },
    'diffusivity_nml': {
        'do_entrain': False,
        'do_simple': True,
    },
    'surface_flux_nml': {
        'use_virtual_temp': False,
        'do_simple': True,
        'old_dtaudv': True,
        'use_actual_surface_temperatures': False,
    },
    'atmosphere_nml': {
        'idealized_moist_model': True
    },
    'mixed_layer_nml': {
        'tconst': 94.,
        'prescribe_initial_dist': True,
        'evaporation': False,
        'albedo_value': 0.3,
    },
    'qe_moist_convection_nml': {
        'rhbm': 0.0,
        'tau_bm': 3600.,
    },
    'dry_convection_nml': {
        'tau': 7200,
    },
    'betts_miller_nml': {
        'rhbm': .7,
        'do_simp': False,
        'do_shallower': True,
    },
    'lscale_cond_nml': {
        'do_simple': True,
        'do_evap': True
    },
    'sat_vapor_pres_nml': {
        'do_simple': True,
        'tcmin':
        -223,  #Make sure low temperature limit of saturation vapour pressure is low enough that it doesn't cause an error (note that this giant planet has no moisture anyway, so doesn't directly affect calculation.        
        'tcmax': 350.,
    },
    'damping_driver_nml': {
        'do_rayleigh': True,
        'trayfric': -0.125,  # neg. value: time in *days*
        'sponge_pbottom':
        1.1205,  #Bottom of the model's sponge down to 1.1205 for 3 model layers for Titan (units are Pa)
        'do_conserve_energy': True,
    },
    'spectral_dynamics_nml': {
        'num_levels': 25,
        'exponent': 2.5,
        'scale_heights': 4,
        'surf_res': 0.1,
        'robert_coeff': 4e-2,
        'do_water_correction': False,
        'vert_coord_option': 'input',
        'initial_sphum': 0.,
        'valid_range_T': [0, 700],
        'ocean_topog_smoothing': 0.8  #!!! new line
    },
    'vert_coordinate_nml': {
        'bk': [
            0.00000000e+00, 1.53008955e-04, 4.63790800e-04, 1.10977640e-03,
            2.37044150e-03, 4.74479200e-03, 9.12245300e-03, 1.70677050e-02,
            3.12516100e-02, 5.59939500e-02, 9.76165000e-02, 1.63754900e-01,
            2.60315150e-01, 3.85974250e-01, 5.28084800e-01, 6.65956600e-01,
            7.81088000e-01, 8.65400050e-01, 9.21109250e-01, 9.55343500e-01,
            9.75416950e-01, 9.86856800e-01, 9.93269300e-01, 9.96830200e-01,
            9.98799150e-01, 1.00000000e+00
        ],
        'pk': [0.] * 26,
    },
    'two_stream_gray_rad_nml': {
        'rad_scheme':
        'frierson',  #Select radiation scheme to use, which in this case is Frierson
        'do_seasonal': True,
        'atm_abs': 30,
        'sw_diff': 0.0,
        'ir_tau_eq': 25,
        'ir_tau_pole': 25,
        'linear_tau': 1.0,
        'equinox_day': 0.0,
        'use_time_average_coszen': True,
        'solar_constant': 15.08,
        'solar_exponent': 0.65  #!!!line additional to Mars script
    },

    #     configure the relaxation profile
    #     'hs_forcing_nml': {
    #         'equilibrium_t_option' : 'top_down',
    #         'ml_depth': 10.,
    #         'spinup_time': 108000,
    #         'ka': -2.,
    #         'ks': -2.,
    #         'tau_s': 0.2,
    #         'calculate_insolation_from_orbit' : True,
    #         'do_rayleigh_damping':False,
    #         'albedo':0.25,
    #         'pure_rad_equil':True,
    #         'stratosphere_t_option':'pure_rad_equil',
    #         'peri_time': 0.,
    #         'h_a': 10.8,
    #         'use_olr_from_t_surf':True,
    #         'frac_of_year_ae':0.3032894472101727,
    #     },
    'spectral_init_cond_nml': {  #namelist additional to the Mars script
        'topog_file_name':
        'titan_land_t42.nc',  #!!! new line - name of land input file, which will also contain topography
        'topography_option':
        'input',  #!!! new line - tells model to get topography from input file
        'initial_temperature': 120.
    },
    'astronomy_nml': {
        'ecc': 0.054,  #eccentricity of Saturn's orbit around the Sun
        'obliq': 26.7,  #obliquity wrt the Sun
        'use_mean_anom_in_rrsun_calc': True,
        'use_old_r_inv_squared': False
    },
    'constants_nml': {
        'orbital_period':
        928523294,  #value calculated from day/year calculator script
        'solar_const': 15.08,
        'radius': 2575.0e3,
        'rdgas': 290,
        'kappa': 0.2727,
        'rotation_period':
        1377631,  #value calculated from day/year calculator script
    },
})
Beispiel #6
0
exp.namelist = namelist = Namelist({
    'main_nml': {
        'days': 30,
        'hours': 0,
        'minutes': 0,
        'seconds': 0,
        'dt_atmos': 720,
        'current_date': [1, 1, 1, 0, 0, 0],
        'calendar': 'thirty_day'
    },
    'idealized_moist_phys_nml': {
        'do_damping': True,
        'turb': True,
        'mixed_layer_bc': True,
        'do_virtual': False,
        'do_simple': True,
        'roughness_mom': 2.e-4,  #Ocean roughness lengths
        'roughness_heat': 2.e-4,
        'roughness_moist': 2.e-4,
        'two_stream_gray': False,  #Don't use grey radiation
        'do_rrtm_radiation': True,  #Do use RRTM radiation
        'convection_scheme':
        'SIMPLE_BETTS_MILLER',  #Use the simple betts-miller convection scheme
        ###### NORTHLAND ########################################
        ###### uncomment the following for runs with land  ######
        'land_option': 'input',  #Use land mask from input file
        'land_file_name':
        'INPUT/land.nc',  #Tell model where to find input file
        'bucket': True,  #Run with the bucket model
        'init_bucket_depth_land':
        0.15,  #Set initial bucket depth over land. Default = 20
        'max_bucket_depth_land':
        0.15,  #Set max bucket depth over land, default = 0.15. See Isca/src/atmos_spectral/driver/solo/idealized_moist_phys.F90

        ####### if we additionally want the land roughness, then
        ####### uncomment
        #        'land_roughness_prefactor': 100.0, # default is 1.0

        ########################################################
    },
    'vert_turb_driver_nml': {
        'do_mellor_yamada': False,  # default: True
        'do_diffusivity': True,  # default: False
        'do_simple': True,  # default: False
        'constant_gust': 0.0,  # default: 1.0
        'use_tau': False
    },
    'diffusivity_nml': {
        'do_entrain': False,
        'do_simple': True,
    },
    'surface_flux_nml': {
        'use_virtual_temp': False,
        'do_simple': True,
        'old_dtaudv': True
    },
    'atmosphere_nml': {
        'idealized_moist_model': True
    },

    #Use a large mixed-layer depth, and the Albedo of the CTRL case in Jucker & Gerber, 2017
    'mixed_layer_nml': {
        'tconst': 285.,
        'prescribe_initial_dist': True,
        'evaporation': True,
        'depth': 20.,  #Mixed layer depth = ocean depth
        'albedo_value': 0.25,  #Ocean albedo value
        ### NORTHLAND #################################
        ### uncomment if not running an aquaplanet ####
        'land_option':
        'input',  # Tell mixed layer to get land mask from input file
        'land_h_capacity_prefactor':
        0.1,  # heat capacity of land is 1/10.th that of the ocean, in our case 2m
        'land_albedo_prefactor':
        1.3,  # What factor to multiply ocean albedo by over land <- set to 1.3 for light land dark ocean
        ###############################################
        'do_qflux': False,  #Do not use prescribed qflux formula
        'qflux_amp': 0.
    },
    'qe_moist_convection_nml': {
        'rhbm': 0.7,
        'Tmin': 160.,
        'Tmax': 350.
    },
    'lscale_cond_nml': {
        'do_simple': True,
        'do_evap': True
    },
    'sat_vapor_pres_nml': {
        'do_simple': True
    },
    'damping_driver_nml': {
        'do_rayleigh': True,
        'trayfric': -0.5,  # neg. value: time in *days*
        'sponge_pbottom':
        150.,  #Setting the lower pressure boundary for the model sponge layer in Pa.
        'do_conserve_energy': True,
    },
    'rrtm_radiation_nml': {
        'do_read_ozone': True,
        'ozone_file': 'ozone_1990',
        'solr_cnst':
        1360.,  #s set solar constant to 1360, rather than default of 1368.22
        'dt_rad':
        3600,  #Set RRTM radiation timestep to 3600 seconds, meaning it runs every 5 atmospheric timesteps        
    },

    # FMS Framework configuration
    'diag_manager_nml': {
        'mix_snapshot_average_fields':
        False  # time avg fields are labelled with time in middle of window
    },
    'fms_nml': {
        'domains_stack_size': 600000  # default: 0
    },
    'fms_io_nml': {
        'threading_write': 'single',  # default: multi
        'fileset_write': 'single',  # default: multi
    },
    'spectral_dynamics_nml': {
        'damping_order': 4,
        'water_correction_limit': 200.e2,
        'reference_sea_level_press': 1.0e5,
        'num_levels': 40,
        'valid_range_t': [100., 800.],
        'initial_sphum': [2.e-6],
        'vert_coord_option': 'uneven_sigma',
        'surf_res':
        0.2,  #Parameter that sets the vertical distribution of sigma levels
        'scale_heights': 11.0,
        'exponent': 7.0,
        'robert_coeff': 0.03
    }
})
Beispiel #7
0
namelist = Namelist({
    'main_nml': {
        'days': 30,
        'hours': 0,
        'minutes': 0,
        'seconds': 0,
        'dt_atmos': 720,
        'current_date': [1, 1, 1, 0, 0, 0],
        'calendar': 'thirty_day'
    },
    'idealized_moist_phys_nml': {
        'do_damping': True,
        'turb': True,
        'mixed_layer_bc': True,
        'do_virtual': False,
        'do_simple': True,
        'roughness_mom': 3.21e-05,
        'roughness_heat': 3.21e-05,
        'roughness_moist': 3.21e-05,
        'two_stream_gray': False,  #Use RRTM, not grey radiation:
        'do_rrtm_radiation': True,
        'convection_scheme':
        'FULL_BETTS_MILLER',  #Use the full Betts-miller convection schemei
        'land_option': 'input',  #Use land mask from input file
        'land_file_name':
        'INPUT/era_land_t42.nc',  #Tell model where to find input file
        'land_roughness_prefactor':
        10.0,  #How much rougher to make land than ocean
    },
    'vert_turb_driver_nml': {
        'do_mellor_yamada': False,  # default: True
        'do_diffusivity': True,  # default: False
        'do_simple': True,  # default: False
        'constant_gust': 0.0,  # default: 1.0
        'use_tau': False
    },
    'diffusivity_nml': {
        'do_entrain': False,
        'do_simple': True,
    },
    'surface_flux_nml': {
        'use_virtual_temp': False,
        'do_simple': True,
        'old_dtaudv': True,
        'land_evap_prefactor': 0.7,
    },
    'atmosphere_nml': {
        'idealized_moist_model': True
    },
    'mixed_layer_nml': {
        'tconst': 285.,
        'prescribe_initial_dist': True,
        'evaporation': True,
        'depth': 5.,  #Use shallow mixed-layer depth
        'albedo_value': 0.25,  #set albedo value
        'do_qflux': False,  #Do not use prescribed form for q-fluxes
        'land_option':
        'input',  #Tell mixed layer to get land mask from input file
        'land_h_capacity_prefactor':
        0.4,  #What factor to multiply mixed-layer depth by over land.
        'land_albedo_prefactor':
        1.3,  #What factor to multiply ocean albedo by over land
    },
    'betts_miller_nml': {
        'rhbm': .7,
        'do_simp': False,
        'do_shallower': True,
    },
    'lscale_cond_nml': {
        'do_simple': True,
        'do_evap': True
    },
    'sat_vapor_pres_nml': {
        'do_simple': True
    },
    'damping_driver_nml': {
        'do_rayleigh': True,
        'trayfric': -0.5,  # neg. value: time in *days*
        'sponge_pbottom':
        150.,  #Setting the lower pressure boundary for the model sponge layer in Pa.
        'do_conserve_energy': True,
    },
    'rrtm_radiation_nml': {
        'do_read_ozone': True,
        'ozone_file': 'ozone_1990',
        'solr_cnst':
        1360.,  #s set solar constant to 1360, rather than default of 1368.22
        'dt_rad': 4320,  #Use 4320 as RRTM radiation timestep
    },

    # FMS Framework configuration
    'diag_manager_nml': {
        'mix_snapshot_average_fields':
        False  # time avg fields are labelled with time in middle of window
    },
    'fms_nml': {
        'domains_stack_size': 600000  # default: 0
    },
    'fms_io_nml': {
        'threading_write': 'single',  # default: multi
        'fileset_write': 'single',  # default: multi
    },
    'spectral_dynamics_nml': {
        'damping_order': 4,
        'water_correction_limit': 200.e2,
        'reference_sea_level_press': 1.0e5,
        'valid_range_t': [100., 800.],
        'initial_sphum': [2.e-6],
        'vert_coord_option': 'uneven_sigma',
        'surf_res':
        0.2,  #Parameter that sets the vertical distribution of sigma levels
        'scale_heights': 11.0,
        'exponent': 7.0,
        'robert_coeff': 0.03,
        'ocean_topog_smoothing': 0.8,
    },
    'spectral_init_cond_nml': {
        'topog_file_name':
        'era_land_t42.nc',  #Name of land input file, which will also contain topography if generated using Isca's `land_file_generator_fn.py' routine.
        'topography_option':
        'input',  #Tell model to get topography from input file
    },
    'astronomy_nml': {
        'obliq': 23.439,
    },
})
Beispiel #8
0
namelist = Namelist({
    # model settings
    'main_nml': {
        'dt_atmos': 900,
        'days': NDAYS,
        'calendar': 'no_calendar',
    },
    'spectral_dynamics_nml': {
        'damping_order': 2,  # hyperviscosity 2=del4, 4=del8.
        'reference_sea_level_press': 1.0e5,  # default: 101325
        'valid_range_t': [150., 400.],
        # choose coordinate system to set level 7 at ~ 100hPa
        'vert_coord_option': 'uneven_sigma',  # default: 'even_sigma'
        'scale_heights': 6.0,
        'exponent': 7.5,
        'surf_res': 0.5,
    },
    'atmosphere_nml': {
        'idealized_moist_model': False  # run in HS-mode
    },
    'hs_forcing_nml': held_suarez_configuration,

    # framework and IO config
    'diag_manager_nml': {
        # diagmanager gives a warning if you don't set this
        'mix_snapshot_average_fields': False
    },
    'fms_nml': {
        'domains_stack_size': 600000  # default: 0
    },
    'fms_io_nml': {
        'threading_write': 'single',  # default: multi
        'fileset_write': 'single',  # default: multi
    },
})
exp.namelist = namelist = Namelist({
    'main_nml': {
        'days': 30,
        'hours': 0,
        'minutes': 0,
        'seconds': 0,
        'dt_atmos': 600,
        'current_date': [1, 1, 1, 0, 0, 0],
        'calendar': 'thirty_day'
    },
    'socrates_rad_nml': {
        'stellar_constant':
        1370.,
        'lw_spectral_filename':
        os.path.join(
            GFDL_BASE,
            'src/atmos_param/socrates/src/trunk/data/spectra/ga7/sp_lw_ga7'),
        'sw_spectral_filename':
        os.path.join(
            GFDL_BASE,
            'src/atmos_param/socrates/src/trunk/data/spectra/ga7/sp_sw_ga7'),
        'do_read_ozone':
        True,
        'ozone_file_name':
        'ozone_1990',
        'ozone_field_name':
        'ozone_1990',
        'dt_rad':
        3600,
        'store_intermediate_rad':
        True,
        'chunk_size':
        16,
        'use_pressure_interp_for_half_levels':
        False,
        'tidally_locked':
        False,
        'solday':
        90
    },
    'idealized_moist_phys_nml': {
        'do_damping': True,
        'turb': True,
        'mixed_layer_bc': True,
        'do_virtual': False,
        'do_simple': True,
        'roughness_mom': 3.21e-05,
        'roughness_heat': 3.21e-05,
        'roughness_moist': 3.21e-05,
        'two_stream_gray': False,  #Use the grey radiation scheme
        'do_socrates_radiation': True,
        'convection_scheme':
        'SIMPLE_BETTS_MILLER',  #Use simple Betts miller convection            
        'do_cloud_simple': True  # this is where the clouds scheme is turned on
    },
    'cloud_simple_nml': {  #use all existing defaults as in code
        'spookie_protocol': 2
    },
    'vert_turb_driver_nml': {
        'do_mellor_yamada': False,  # default: True
        'do_diffusivity': True,  # default: False
        'do_simple': True,  # default: False
        'constant_gust': 0.0,  # default: 1.0
        'use_tau': False
    },
    'diffusivity_nml': {
        'do_entrain': False,
        'do_simple': True,
    },
    'surface_flux_nml': {
        'use_virtual_temp': False,
        'do_simple': True,
        'old_dtaudv': True
    },
    'atmosphere_nml': {
        'idealized_moist_model': True
    },

    #Use a large mixed-layer depth, and the Albedo of the CTRL case in Jucker & Gerber, 2017
    'mixed_layer_nml': {
        'tconst': 285.,
        'prescribe_initial_dist': True,
        'evaporation': True,
        'depth': 2.5,  #Depth of mixed layer used
        'albedo_value': 0.2,  #Albedo value used      
    },
    'qe_moist_convection_nml': {
        'rhbm': 0.7,
        'Tmin': 160.,
        'Tmax': 350.
    },
    'lscale_cond_nml': {
        'do_simple': True,
        'do_evap': True
    },
    'sat_vapor_pres_nml': {
        'do_simple': True,
        'construct_table_wrt_liq_and_ice': True
    },
    'damping_driver_nml': {
        'do_rayleigh': True,
        'trayfric': -0.5,  # neg. value: time in *days*
        'sponge_pbottom':
        150.,  #Setting the lower pressure boundary for the model sponge layer in Pa.
        'do_conserve_energy': True,
    },

    # FMS Framework configuration
    'diag_manager_nml': {
        'mix_snapshot_average_fields':
        False  # time avg fields are labelled with time in middle of window
    },
    'fms_nml': {
        'domains_stack_size': 600000  # default: 0
    },
    'fms_io_nml': {
        'threading_write': 'single',  # default: multi
        'fileset_write': 'single',  # default: multi
    },
    'spectral_dynamics_nml': {
        'damping_order': 4,
        'water_correction_limit': 200.e2,
        'reference_sea_level_press': 1.0e5,
        'num_levels': 40,  #How many model pressure levels to use
        'valid_range_t': [100., 800.],
        'initial_sphum': [2.e-6],
        'vert_coord_option': 'uneven_sigma',
        'surf_res':
        0.2,  #Parameter that sets the vertical distribution of sigma levels
        'scale_heights': 11.0,
        'exponent': 7.0,
        'robert_coeff': 0.03
    },
})
Beispiel #10
0
def setup_grey_mars_namelist():
    # define namelist values as python dictionary
    namelist = Namelist({
        'main_nml': {
            'dt_atmos': 110,
            'days': 0,
            'seconds': 30 * 88440,
            'calendar': 'no_calendar'
        },
        'idealized_moist_phys_nml': {
            'do_damping': True,
            'turb': True,
            'mixed_layer_bc': True,
            'do_virtual': False,
            'do_simple': True,
            'roughness_mom': 3.21e-05,
            'roughness_heat': 3.21e-05,
            'roughness_moist': 0.,
            'two_stream_gray': True,  # Use grey radiation
            'do_lscale_cond': False,
            'convection_scheme': 'NONE'
        },
        'vert_turb_driver_nml': {
            'do_mellor_yamada': False,  # default: True
            'do_diffusivity': True,  # default: False
            'do_simple': True,  # default: False
            'constant_gust': 0.0,  # default: 1.0
            'use_tau': False
        },
        'diffusivity_nml': {
            'do_entrain': False,
            'do_simple': True,
        },
        'surface_flux_nml': {
            'use_virtual_temp': False,
            'do_simple': True,
            'old_dtaudv': True,
            'use_actual_surface_temperatures': False,
        },
        'atmosphere_nml': {
            'idealized_moist_model': True
        },
        'mixed_layer_nml': {
            'tconst': 285.,
            'prescribe_initial_dist': True,
            'evaporation': False,
            'albedo_value': 0.3,
        },
        'qe_moist_convection_nml': {
            'rhbm': 0.0,
            'tau_bm': 3600.,
        },
        'dry_convection_nml': {
            'tau': 7200,
        },
        'betts_miller_nml': {
            'rhbm': .7,
            'do_simp': False,
            'do_shallower': True,
        },
        'lscale_cond_nml': {
            'do_simple': True,
            'do_evap': True
        },
        'sat_vapor_pres_nml': {
            'do_simple': True,
            'tcmin': -223,
            'tcmax': 350.,
        },
        'damping_driver_nml': {
            'do_rayleigh': True,
            'trayfric': -0.125,  # neg. value: time in *days*
            'sponge_pbottom':
            0.5,  # Bottom of the model's sponge down to 50hPa (units are Pa)
            'do_conserve_energy': True,
        },
        'spectral_dynamics_nml': {
            'damping_coeff_div': -1.,
            'num_levels': 25,
            'exponent': 2.5,
            'scale_heights': 4,
            'surf_res': 0.1,
            'robert_coeff': 4e-2,
            'vert_coord_option': 'input',
            'initial_sphum': 0.,
            'valid_range_T': [0, 700],
            'do_water_correction': False
        },
        'vert_coordinate_nml': {
            'bk': [
                0.00000000e+00, 1.53008955e-04, 4.63790800e-04, 1.10977640e-03,
                2.37044150e-03, 4.74479200e-03, 9.12245300e-03, 1.70677050e-02,
                3.12516100e-02, 5.59939500e-02, 9.76165000e-02, 1.63754900e-01,
                2.60315150e-01, 3.85974250e-01, 5.28084800e-01, 6.65956600e-01,
                7.81088000e-01, 8.65400050e-01, 9.21109250e-01, 9.55343500e-01,
                9.75416950e-01, 9.86856800e-01, 9.93269300e-01, 9.96830200e-01,
                9.98799150e-01, 1.00000000e+00
            ],
            'pk': [0.] * 26,
        },
        'two_stream_gray_rad_nml': {
            'rad_scheme':
            'frierson',  # Select radiation scheme to use, which in this case is Frierson
            'do_seasonal': True,
            'atm_abs': 0.2,
            'sw_diff': 0.0,
            'ir_tau_eq': 0.2,
            'ir_tau_pole': 0.2,
            'linear_tau': 1.0,
            'equinox_day': 0.0,
            'use_time_average_coszen': True,
            'solar_constant': 589.0,
        },
        'astronomy_nml': {
            'ecc': 0.0935,
            'obliq': 25.19,
            'use_mean_anom_in_rrsun_calc': True,
            'use_old_r_inv_squared': False
        },
        'constants_nml': {
            'orbital_period': 59166360,
            'solar_const': 589.0,
            'radius': 3396.0e3,
            'rdgas': 192.0,
            'kappa': 0.22727,
            'rotation_period': 88308,
        },
    })

    conv = 'none'
    depth_val = 2.
    per_value = 70.85
    scale = 1.

    namelist['constants_nml']['grav'] = scale * 3.71
    namelist['constants_nml']['pstd'] = scale * 6100.0
    namelist['constants_nml']['pstd_mks'] = scale * 610.0
    namelist['spectral_dynamics_nml'][
        'reference_sea_level_press'] = scale * 610.0
    namelist['idealized_moist_phys_nml']['convection_scheme'] = conv
    namelist['mixed_layer_nml']['depth'] = depth_val
    namelist['astronomy_nml']['per'] = per_value

    return namelist
Beispiel #11
0
exp.namelist = namelist = Namelist({
    'main_nml': {
        'days': 30,
        'hours': 0,
        'minutes': 0,
        'seconds': 0,
        'dt_atmos': 720,
        'current_date': [1, 1, 1, 0, 0, 0],
        'calendar': 'thirty_day'
    },
    'idealized_moist_phys_nml': {
        'do_damping': True,
        'turb': True,
        'mixed_layer_bc': True,
        'do_virtual': False,
        'do_simple': True,
        'roughness_mom': 3.21e-05,
        'roughness_heat': 3.21e-05,
        'roughness_moist': 3.21e-05,
        'two_stream_gray': False,  #Don't use grey radiation
        'do_rrtm_radiation': True,  #Do use RRTM radiation
        'convection_scheme':
        'SIMPLE_BETTS_MILLER',  #Use the simple betts-miller convection scheme
    },
    'vert_turb_driver_nml': {
        'do_mellor_yamada': False,  # default: True
        'do_diffusivity': True,  # default: False
        'do_simple': True,  # default: False
        'constant_gust': 0.0,  # default: 1.0
        'use_tau': False
    },
    'diffusivity_nml': {
        'do_entrain': False,
        'do_simple': True,
    },
    'surface_flux_nml': {
        'use_virtual_temp': False,
        'do_simple': True,
        'old_dtaudv': True
    },
    'atmosphere_nml': {
        'idealized_moist_model': True
    },

    #Use a large mixed-layer depth, and the Albedo of the CTRL case in Jucker & Gerber, 2017
    'mixed_layer_nml': {
        'tconst': 285.,
        'prescribe_initial_dist': True,
        'evaporation': True,
        'albedo_value': 0.25,  #Ocean albedo value
        'do_sc_sst': True,  # Use precribed SSTs
        'sst_file': 'sn_1.000_sst',  # SSTs to use            
    },
    'qe_moist_convection_nml': {
        'rhbm': 0.7,
        'Tmin': 160.,
        'Tmax': 350.
    },
    'betts_miller_nml': {
        'rhbm': .7,
        'do_simp': False,
        'do_shallower': True,
    },
    'lscale_cond_nml': {
        'do_simple': True,
        'do_evap': True
    },
    'sat_vapor_pres_nml': {
        'do_simple': True
    },
    'damping_driver_nml': {
        'do_rayleigh': True,
        'trayfric': -0.5,  # neg. value: time in *days*
        'sponge_pbottom':
        150.,  #Setting the lower pressure boundary for the model sponge layer in Pa.
        'do_conserve_energy': True,
    },
    'rrtm_radiation_nml': {
        'do_read_ozone': True,
        'ozone_file': 'ozone_1990',
        'dt_rad':
        3600.  #Set RRTM radiation timestep to 3600 seconds, meaning it runs every 5 atmospheric timesteps
    },

    # FMS Framework configuration
    'diag_manager_nml': {
        'mix_snapshot_average_fields':
        False  # time avg fields are labelled with time in middle of window
    },
    'fms_nml': {
        'domains_stack_size': 600000  # default: 0
    },
    'fms_io_nml': {
        'threading_write': 'single',  # default: multi
        'fileset_write': 'single',  # default: multi
    },
    'spectral_dynamics_nml': {
        'damping_order': 4,
        'water_correction_limit': 200.e2,
        'reference_sea_level_press': 1.0e5,
        'num_levels': 40,
        'valid_range_t': [100., 800.],
        'initial_sphum': [2.e-6],
        'vert_coord_option': 'uneven_sigma',
        'surf_res':
        0.2,  #Parameter that sets the vertical distribution of sigma levels
        'scale_heights': 11.0,
        'exponent': 7.0,
        'robert_coeff': 0.03,
        # RG The model can be made symmetric by setting the option below to True. However, with no eddies, the equinoctial state, with two (predominantly eddy driven) Hadley cells symmetric about the equator, is not stable. With a mixed layer ocean the model finds other solutions to avoid this state, e.g. keeping the ITCZ off the equator, and the SST becomes very flat in the tropics. Additionally, both with a mixed layer ocean and with fixed SSTs, the cells tend to develop pressure level scale vertical waves. I therefore recommend using prescribed SSTs, and including some vertical diffusion in the free atmosphere to help dissipate vertical waves. For this test case seasonally varying SSTs are provided.
        'make_symmetric': True,  # Make model zonally symmetric
    },
    'diffusivity_nml': {
        'free_atm_diff':
        True,  #Turn on vertical diffusion in the free atmosphere 
    },
})
Beispiel #12
0
namelist = Namelist({
    'main_nml': {
        'dt_atmos': 300,
        'days': 90,
        'calendar': 'no_calendar'
    },
    'atmosphere_nml': {
        'idealized_moist_model':
        False  # False for Newtonian Cooling.  True for Isca/Frierson
    },
    'spectral_dynamics_nml': {
        'num_levels': 30,
        'exponent': 2.5,
        'scale_heights': 4,
        'surf_res': 0.1,
        'robert_coeff': 4e-2,
        'do_water_correction': False,
        'vert_coord_option': 'even_sigma',
        'initial_sphum': 0.,
        'valid_range_T': [0, 700]
    },

    # configure the relaxation profile
    'hs_forcing_nml': {
        'equilibrium_t_option': 'top_down',
        'ml_depth': 10.,
        'spinup_time': 10800,
        'ka': -20.,
        'ks': -5.
    },
    'constants_nml': {
        'orbital_period': 360,
    },
    'astronomy_nml': {
        'obliq': 15
    },
    'diag_manager_nml': {
        'mix_snapshot_average_fields': False
    },
    'fms_nml': {
        'domains_stack_size': 600000  # default: 0
    },
    'fms_io_nml': {
        'threading_write': 'single',  # default: multi
        'fileset_write': 'single',  # default: multi
    }
})
Beispiel #13
0
namelist = Namelist({
    'main_nml': {
        'dt_atmos': 110,
        'days': 0.,
        'seconds': 30. * 88440.,
        'calendar': 'no_calendar'
    },
    'idealized_moist_phys_nml': {
        'do_damping': True,
        'turb': True,
        'mixed_layer_bc': True,
        'do_virtual': False,
        'do_simple': True,
        'roughness_mom': 3.21e-05,
        'roughness_heat': 3.21e-05,
        'roughness_moist': 0.,
        'two_stream_gray': False,
        'do_lscale_cond': False,
        'do_socrates_radiation': True,
    },
    'vert_turb_driver_nml': {
        'do_mellor_yamada': False,  # default: True
        'do_diffusivity': True,  # default: False
        'do_simple': True,  # default: False
        'constant_gust': 0.0,  # default: 1.0
        'use_tau': False
    },
    'diffusivity_nml': {
        'do_entrain': False,
        'do_simple': True,
    },
    'surface_flux_nml': {
        'use_virtual_temp': False,
        'do_simple': True,
        'old_dtaudv': True,
        'use_actual_surface_temperatures': False,
    },
    'atmosphere_nml': {
        'idealized_moist_model': True
    },
    'mixed_layer_nml': {
        'tconst': 285.,
        'prescribe_initial_dist': True,
        'evaporation': False,
        'albedo_value': 0.3,
    },
    'qe_moist_convection_nml': {
        'rhbm': 0.0,
        'tau_bm': 3600.,
    },
    'dry_convection_nml': {
        'tau': 7200,
    },
    'betts_miller_nml': {
        'rhbm': .7,
        'do_simp': False,
        'do_shallower': True,
    },
    'lscale_cond_nml': {
        'do_simple': True,
        'do_evap': True
    },
    'sat_vapor_pres_nml': {
        'do_simple': True,
        'tcmin':
        -223,  #Make sure low temperature limit of saturation vapour pressure is low enough that it doesn't cause an error (note that this giant planet has no moisture anyway, so doesn't directly affect calculation.        
        'tcmax': 350.,
    },
    'damping_driver_nml': {
        'do_rayleigh': True,
        'trayfric': -0.125,  # neg. value: time in *days*
        'sponge_pbottom':
        0.5,  #Bottom of the model's sponge down to 50hPa (units are Pa)
        'do_conserve_energy': True,
    },
    'spectral_dynamics_nml': {
        'num_levels': 25,
        'exponent': 2.5,
        'scale_heights': 4,
        'surf_res': 0.1,
        'robert_coeff': 4e-2,
        'do_water_correction': False,
        'vert_coord_option': 'input',
        'initial_sphum': 0.,
        'valid_range_T': [0, 700],
        'ocean_topog_smoothing': 0.8,
    },
    'vert_coordinate_nml': {
        'bk': [
            0.00000000e+00, 1.53008955e-04, 4.63790800e-04, 1.10977640e-03,
            2.37044150e-03, 4.74479200e-03, 9.12245300e-03, 1.70677050e-02,
            3.12516100e-02, 5.59939500e-02, 9.76165000e-02, 1.63754900e-01,
            2.60315150e-01, 3.85974250e-01, 5.28084800e-01, 6.65956600e-01,
            7.81088000e-01, 8.65400050e-01, 9.21109250e-01, 9.55343500e-01,
            9.75416950e-01, 9.86856800e-01, 9.93269300e-01, 9.96830200e-01,
            9.98799150e-01, 1.00000000e+00
        ],
        'pk': [0.] * 26,
    },

    # 'two_stream_gray_rad_nml': {
    #     'rad_scheme': 'frierson',            #Select radiation scheme to use, which in this case is Frierson
    #     'do_seasonal': True,
    #     'atm_abs': 0.2,
    #     'sw_diff':0.0,
    #     'ir_tau_eq':0.2,
    #     'ir_tau_pole':0.2,
    #     'linear_tau': 1.0,
    #     'equinox_day':0.0,
    #     'use_time_average_coszen':True,
    #     'solar_constant':589.0,
    # },
    'socrates_rad_nml': {
        'stellar_constant': 589.,
        'lw_spectral_filename': 'INPUT/sp_lw_17_dsa_mars',
        'sw_spectral_filename': 'INPUT/sp_sw_42_dsa_mars_sun',
        'do_read_ozone': False,
        'dt_rad': 1320,
        'store_intermediate_rad': True,
        'chunk_size': 16,
        'use_pressure_interp_for_half_levels': False,
        'tidally_locked': False,
        'inc_h2o': False,
        'inc_o3': False,
        'inc_co2': True,
        'inc_n2': True,
        'equinox_day': 0.0,
        'co2_ppmv': 0.949 * 1e6,
        'n2_mix_ratio': 0.026 * (28.0134) / (1000. * 8.314 / 192.0)
    },

    #     configure the relaxation profile
    #     'hs_forcing_nml': {
    #         'equilibrium_t_option' : 'top_down',
    #         'ml_depth': 10.,
    #         'spinup_time': 108000,
    #         'ka': -2.,
    #         'ks': -2.,
    #         'tau_s': 0.2,
    #         'calculate_insolation_from_orbit' : True,
    #         'do_rayleigh_damping':False,
    #         'albedo':0.25,
    #         'pure_rad_equil':True,
    #         'stratosphere_t_option':'pure_rad_equil',
    #         'peri_time': 0.,
    #         'h_a': 10.8,
    #         'use_olr_from_t_surf':True,
    #         'frac_of_year_ae':0.3032894472101727,
    #     },
    'astronomy_nml': {
        'ecc': 0.0935,
        'obliq': 25.19,
        'use_mean_anom_in_rrsun_calc': True,
        'use_old_r_inv_squared': False
    },
    'constants_nml': {
        'orbital_period': 59166360,
        'solar_const': 589.0,
        'radius': 3396.0e3,
        'rdgas': 192.0,
        'kappa': 0.22727,
        'rotation_period': 88308,
    },
    'spectral_init_cond_nml': {
        'topog_file_name': 't42_mola_mars.nc',
        'topography_option': 'input',
    },
})
Beispiel #14
0
exp.namelist = namelist = Namelist({
    'main_nml': {
        'days': 30,
        'hours': 0,
        'minutes': 0,
        'seconds': 0,
        'dt_atmos': 1800,
        'current_date': [1, 1, 1, 0, 0, 0],
        'calendar': 'no_calendar'
    },
    'idealized_moist_phys_nml': {
        'do_damping': True,
        'turb': True,
        'mixed_layer_bc': True,
        'do_virtual': False,
        'do_simple': True,
        'roughness_mom': 3.21e-05,
        'roughness_heat': 3.21e-05,
        'roughness_moist': 3.21e-05,
        'two_stream_gray': True,  #Use grey radiation
        'do_rrtm_radiation': False,  #Don't use RRTM
        'convection_scheme':
        'dry',  #Use the dry convection scheme of Schneider & Walker
        'gp_surface':
        True,  #Use the giant-planet option for the surface, meaning it's not a mixed layer, and applies energy conservation and a bottom-boundary heat flux
        'mixed_layer_bc': False,  #Don't use the mixed-layer surface
    },
    'vert_turb_driver_nml': {
        'do_mellor_yamada': False,  # default: True
        'do_diffusivity': True,  # default: False
        'do_simple': True,  # default: False
        'constant_gust': 0.0,  # default: 1.0
        'use_tau': False
    },
    'diffusivity_nml': {
        'do_entrain': False,
        'do_simple': True,
    },
    'surface_flux_nml': {
        'use_virtual_temp': False,
        'do_simple': True,
        'old_dtaudv': True,
        'diabatic_acce':
        1.0,  #Parameter to artificially accelerate the diabatic processes during spinup. 1.0 performs no such acceleration, >1.0 performs acceleration           
    },
    'atmosphere_nml': {
        'idealized_moist_model': True
    },

    #Use a large mixed-layer depth, and the Albedo of the CTRL case in Jucker & Gerber, 2017
    'mixed_layer_nml': {
        'tconst': 285.,
        'prescribe_initial_dist': True,
        'evaporation': True,
    },
    'lscale_cond_nml': {
        'do_simple': True,
        'do_evap': True
    },
    'sat_vapor_pres_nml': {
        'do_simple': True,
        'tcmin_simple':
        -223  #Make sure low temperature limit of saturation vapour pressure is low enough that it doesn't cause an error (note that this giant planet has no moisture anyway, so doesn't directly affect calculation.        
    },
    'damping_driver_nml': {
        'do_rayleigh': True,
        'trayfric': -0.5,  # neg. value: time in *days*
        'sponge_pbottom': 50.,
        'do_conserve_energy': True,
    },
    'rrtm_radiation_nml': {
        'do_read_ozone': True,
        'ozone_file': 'ozone_1990'
    },
    'two_stream_gray_rad_nml': {
        'rad_scheme':
        'Schneider',  #Use the Schneider & Liu option for the grey scheme
        'do_seasonal': False,  #Don't use seasonally-varying radiation 
        'atm_abs': 0.2,  # default: 0.0
        'solar_constant': 50.7,  #Change solar constant
        'diabatic_acce':
        1.0,  #Parameter to artificially accelerate the diabatic processes during spinup. 1.0 performs no such acceleration, >1.0 performs acceleration        
    },

    # FMS Framework configuration
    'diag_manager_nml': {
        'mix_snapshot_average_fields':
        False  # time avg fields are labelled with time in middle of window
    },
    'fms_nml': {
        'domains_stack_size':
        620000  #Setting size of stack available to model, which needs to be higher than the default when running at high spatial resolution
    },
    'fms_io_nml': {
        'threading_write': 'single',  # default: multi
        'fileset_write': 'single',  # default: multi
    },
    'spectral_dynamics_nml': {
        'damping_order': 4,
        'water_correction_limit': 200.e2,
        'reference_sea_level_press': 1.0e5,
        'num_levels': 40,
        'valid_range_t': [50., 800.],
        'initial_sphum': [2.e-6],
        'vert_coord_option': 'even_sigma',  #Use equally-spaced sigma levels
        'surf_res':
        0.1,  #Parameter for setting vertical distribution of sigma levels
        'scale_heights': 5.0,  #Number of vertical scale-heights to include
        'exponent':
        2.0,  #Parameter for setting vertical distribution of sigma levels
        'robert_coeff': 0.03,
        'num_fourier': 213,  #Number of Fourier modes
        'num_spherical':
        214,  #Number of spherical harmonics in triangular truncation
        'lon_max': 1024,  #Lon grid points
        'lat_max': 320,  #Lat grid points
        'num_levels': 30,  #Number of vertical levels
        'do_water_correction':
        False,  #Turn off enforced water conservation as model is dry
        'damping_option':
        'exponential_cutoff',  #Use the high-wavenumber filter option
        'damping_order': 4,
        'damping_coeff': 1.3889e-04,
        'cutoff_wn': 100,
        'initial_sphum': 0.0,  #No initial specific humidity   
        'reference_sea_level_press': 3.0e5,
    },
    'constants_nml': {
        #Set Jupiter constants
        'radius': 69860.0e3,
        'grav': 26.0,
        'omega': 1.7587e-4,
        'orbital_period': 4332.589 * 86400.,
        'PSTD': 3.0E+06,
        'PSTD_MKS': 3.0E+05,
        'rdgas': 3605.38,
    },

    #Set parameters for near-surface Rayleigh drag
    'rayleigh_bottom_drag_nml': {
        'kf_days': 10.0,
        'do_drag_at_surface': True,
        'variable_drag': False
    },

    #Set parameters for dry convection scheme
    'dry_convection_nml': {
        'tau': 21600.,
        'gamma': 1.0,  # K/km
    },
    'spectral_init_cond_nml': {
        'initial_temperature': 200.,  #Lower than normal initial temperature
    }
})