SPS 1.1.0 run : Différence entre versions
m (→NEW WAY) |
m (→making runs with the SPS 1.1.0 executable) |
||
Ligne 41: | Ligne 41: | ||
. s.ssmuse.dot sps/1.1.0.2 | . s.ssmuse.dot sps/1.1.0.2 | ||
− | 1 - get necessary | + | 1 - get necessary files |
configexp.cfg (experiment configuration file) | configexp.cfg (experiment configuration file) | ||
sps.cfg (namelists read by sps executable) | sps.cfg (namelists read by sps executable) |
Version depuis le 25 d'août 2015 à 20:25
Matières
SPS 1.1.0 based on GEM 4.6.2, physics 5.6.8, INTEL fortran 14.0.2/14.0.4
building the SPS 1.1.0 executable
NOTE: environment variable storage_model MUST BE DEFINED
NEW WAY
(uses github for public code)
git clone https://github.com/mfvalin/SPS my_sps cd my_sps . ./.setenv.dot rde mklink # links to compile sps rde mkdep # create Makefile and dependencies make obj # compile make sps # build executable linkit # links to run sps sps.ksh # run sps (quick test run)
OLD WAY (HISTORICAL, do not use)
(legacy, vanilla, deprecated version)
. s.ssmuse.dot sps_beta_dev # acquire software mkdir my_sps_dir # where i want to build u.get_sps_beta my_sps_dir # get the source cd my_sps_dir . ./.setenv.dot ulimit -s unlimited ulimit -m unlimited ulimit -d unlimited rde mklink # links to compile sps rde mkdep # create Makefile and dependencies make obj # compile make sps # build executable linkit # links to run sps sps.ksh # run sps
making runs with the SPS 1.1.0 executable
create a directory for the configuration mkdir SPS_run_directory cd SPS_run_directory . s.ssmuse.dot sps/1.1.0.2 1 - get necessary files configexp.cfg (experiment configuration file) sps.cfg (namelists read by sps executable) sps.dict (special namelists for sps, normally used as is) outcfg.out (output configuration) sps_Linux_x86-64.Abs (sps executable, see above to build it) physics_input_table (table describing physics variables and their interpolation rules) dyn_input_table (table describing dynamics variables and their interpolation rules) 2 - edit config files appropriately (do not forget to set dates in configexp.cfg) 3 - run_sps.sh
typical contents of configexp.cfg exper='experiment_001' # name of the experiment # UM_EXEC_climato, UM_EXEC_geophy, UM_EXEC_inrep, UM_EXEC_anal should be left AS IS UM_EXEC_climato=Data/Input/climato UM_EXEC_geophy=Data/Input/ UM_EXEC_inrep=Data/Input/inrep UM_EXEC_anal=Data/Input/anal # #UM_EXEC_driving_data=$(pwd -P)/driving_data SPS_phy_intable=$(pwd -P)/physics_input_table SPS_dyn_intable=$(pwd -P)/dyn_input_table # exper_archive=${HOME}/ARCHIVE # where output is to be sent by post_sps.sh # exper_climato="${HOME}/project/SPS/Data/Input/climato" # climatology file exper_geophy="${HOME}/project/SPS/Data/Input/Gem_geophy.fst" # geophysical fields file # # anal_*_YYYYMMDD or anal_*_YYYYMMDD_yyy (expected names for initial conditions files) # exper_anal0=${HOME}/project/SPS_DATA/ANAL/anal_WestNA_0.25_ERA_dyn_v12_PRSF_19790101 # initial conditions file exper_anal1=$(pwd -P)/Data_disk/Input/inrep/INI # directory where initial conditions can be found exper_anal2=${exper_archive}/${exper} # directory where initial conditions can be found # exper_depot1=${MODEL_DATA}/Offline_driving/ERA-Interim_0.75/6h_Analysis # where driving data can be found by pre_sps.sh exper_depot2=${MODEL_DATA}/SST_SeaIce/ERA-Interim_0.75deg # where driving data can be found by pre_sps.sh # # date format : YYYYMMDD exper_start_date=19790101 # start date (MUST start on the first day of a month) exper_end_date=19800104 # last date (ignored if > exper_fold_date) extra_time=00:00:00 # added to end_date exper_fold_date=19850201 # "back to the past" date (ignored if > exper_end_date) # # exper_delta='1month' # MUST be 1month for now exper_deltat=21600 # 6 hour time step exper_cpu_config='--verbosity=error --ptopo=4x4x1' # configuration for sps.ksh exper_cpu_config2='--verbosity=error --ptopo=3x3x1' # alternate configuration for sps.ksh # # the following variables get read and adjusted by pre_sps.sh, run_sps.sh, and post_sps.sh # exper_current_date is the starting date for the current monthly step # exper_current_year is the current year number in this multi year integration (should start at 1) # if exper_current_year == 0 , no extension is used for outputs or initial conditions # exper_cycle_year is the number of years to run # exper_current_date='19790101' exper_cycle_year='2' exper_current_year='1'
example of physics_input_table in=MG; freq=0; search=GEOP; interp=near; in=LH; freq=0; search=GEOP; interp=linear; in=Y7; freq=0; search=GEOP; interp=linear; in=Y8; freq=0; search=GEOP; interp=linear; in=Y9; freq=0; search=GEOP; interp=linear; in=GA; freq=0; search=GEOP; interp=near; in=ZP; freq=0; search=GEOP; interp=near; in=VF; freq=0; search=GEOP; interp=near; levels= 1,26; in=VG; freq=0; search=GEOP; interp=near; in=ME; freq=0; search=GEOP; interp=near; in=J1; freq=0; search=GEOP; interp=near; levels= 1,3; in=J2; freq=0; search=GEOP; interp=near; levels= 1,3; in=FSA; freq=0; search=GEOP; interp=linear; levels= 1,4; in=SLA; freq=0; search=GEOP; interp=linear; levels= 1,4; in=AL; freq=0; search=GEOP,CLIM; interp=near; timeint=any; #etk=NO SNOW in=TSG; freq=0; search=ANAL; interp=linear; levels= 1,8; in=GLD; freq=0; search=ANAL; interp=linear; in=GLF; freq=0; search=ANAL; interp=linear; in=GVOL; freq=0; search=ANAL; interp=linear; in=GVLT; freq=0; search=ANAL; interp=linear; in=ITGL; freq=0; search=ANAL; interp=linear; levels= 1,16; in=TM; freq=0,1; search=ANAL,INREP; interp=linear; timeint=linear in=I0; freq=0; search=ANAL; interp=near; levels= 1,2; in=I1; freq=0; search=ANAL; interp=near; levels= 1,2; in=I2; freq=0; search=ANAL; interp=near; levels= 1,2; in=I3; freq=0; search=ANAL; interp=near; in=I4; freq=0; search=ANAL; interp=near; in=I6; freq=0; search=ANAL; interp=near; in=I7; freq=0; search=ANAL; interp=linear; levels= 1,3; in=I8; freq=0; search=ANAL,CLIM; interp=near; timeint=linear in=I9; freq=0; search=ANAL; interp=linear; levels= 1,2; in=DN; freq=0; search=ANAL; interp=near; in=SD; freq=0; search=ANAL,CLIM; interp=near; levels= 1,5; timeint=linear in=LG; freq=0,1; search=ANAL,INREP; interp=near; timeint=linear in=HS; freq=0; search=ANAL,CLIM; interp=near; timeint=linear in=ICEL; freq=0; search=ANAL,CLIM; interp=near; timeint=linear in=XA; freq=0; search=ANAL; interp=near; in=AD; freq=0,1; search=ANAL,INREP; interp=linear; timeint=linear in=N4; freq=0,1; search=ANAL,INREP; interp=linear; timeint=linear in=PR; freq=0,1; search=ANAL,INREP; interp=linear; timeint=next in=MF; freq=0; search=GEOP; interp=linear; in=BME; freq=0; search=GEOP; interp=linear; levels= 1,8; in=BFR; freq=0; search=GEOP; interp=linear; levels= 1,8; in=PRSF; freq=0; search=GEOP; interp=linear; levels= 1,12; in=GLNM; freq=0; search=GEOP; interp=linear;
example sps.cfg version=100 @grid_cfgs Grd_typ_S = 'LU' Grd_dx = 0.25 Grd_dy = 0.25 Grd_ni = 144 Grd_nj = 115 Grd_iref = 82 Grd_jref = 60 Grd_latr = 0.0 Grd_lonr = 180.0 Grd_xlat1 = 57.5 Grd_xlon1 = -130. Grd_xlat2 = 0. Grd_xlon2 = -40. @time_cfgs Step_runstrt_S = '19790101.000000' Step_dt = 21600. Step_gstat = 12 Step_bkup = -1 Step_total = 124 @levels_cfgs Lvl_typ_S = 'HU' Lvl_ptop_8 = 10.0 Lvl_NoTopThL_L = .false. Lvl_Tlift_L = .false. @sps_cfgs ip1a = 93423264 int_accu_S = 'CONST' adapt_L = .FALSE. lapserate = 0.0065 read_hu_L = .TRUE. @ &physics_cfgs schmsol = 'ISBA' , zta=2.0, zua=10.0, LIMSNODP = .true., ICEMELT = .true., /