SPS 1.1.0 run : Différence entre versions
m (→making runs with SPS 1.1.0 executable) |
m |
||
(18 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1: | Ligne 1: | ||
− | == | + | == 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 === | |
− | ==== NEW WAY ==== | + | NOTE: environment variable '''storage_model''' MUST BE DEFINED |
− | (uses github for public code) | + | |
+ | ==== NEW WAY ==== | ||
+ | |||
+ | # (uses github for public code) | ||
git clone https://github.com/mfvalin/SPS my_sps | git clone https://github.com/mfvalin/SPS my_sps | ||
cd my_sps | cd my_sps | ||
Ligne 13: | Ligne 16: | ||
make sps # build executable | make sps # build executable | ||
linkit # links to run sps | linkit # links to run sps | ||
− | sps.ksh # run sps (test run) | + | sps.ksh # run sps (quick test run) |
+ | # | ||
+ | # time for a stronger test run | ||
+ | # | ||
+ | mkdir some_demo_run_directory | ||
+ | cp DemoConfigs/* some_demo_run_directory | ||
+ | cp sps_Linux_x86-64.Abs some_demo_run_directory | ||
+ | # | ||
+ | cd some_demo_run_directory | ||
+ | vi configexp.cfg # edit exper_archive=... to point it to an existing directory | ||
+ | # | ||
+ | # configexp.cfg is set for a 3 month run on 2 processors | ||
+ | # | ||
+ | . s.ssmuse.dot sps/1.1.0.2 | ||
+ | run_sps.sh 2>&1 | tee run.txt | ||
+ | # | ||
+ | |||
+ | ==== OLD WAY (HISTORICAL, do not use) ==== | ||
+ | |||
+ | (legacy, vanilla, deprecated version) | ||
− | |||
− | |||
. s.ssmuse.dot sps_beta_dev # acquire software | . s.ssmuse.dot sps_beta_dev # acquire software | ||
mkdir my_sps_dir # where i want to build | mkdir my_sps_dir # where i want to build | ||
Ligne 32: | Ligne 52: | ||
sps.ksh # run sps | sps.ksh # run sps | ||
− | === making runs with SPS 1.1.0 executable === | + | === making runs with the SPS 1.1.0 executable === |
create a directory for the configuration | create a directory for the configuration | ||
Ligne 39: | Ligne 59: | ||
. s.ssmuse.dot sps/1.1.0.2 | . s.ssmuse.dot sps/1.1.0.2 | ||
− | + | 1 - get necessary files (sample configuration files will be found in the DemoConfigs directory of th edistribution) | |
− | + | 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 | 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 for ISBA | ||
+ | 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., | ||
+ | / | ||
+ | |||
+ | == SPS 5.8.3 based on GEM 4.8.3, physics 5.8.3, INTEL fortran 14.0.2/14.0.4 == | ||
+ | |||
+ | available on UQAM servers, availability on guillimin to follow soon | ||
+ | |||
+ | === using SPS 5.8.3 (always necessary before any of the following actions) === | ||
+ | |||
+ | . s.ssmuse.dot sps/5.8.3 | ||
+ | make sure that ${HOME}/ARCHIVE points to archival space | ||
+ | NOTE: environment variable '''storage_model''' MUST BE DEFINED | ||
+ | |||
+ | === DEMO SPS 5.8.3 === | ||
+ | |||
+ | mkdir my_directory | ||
+ | cd my_directory | ||
+ | get_sps_demo_configs # get a working set of config files | ||
+ | run_sps.sh | ||
+ | |||
+ | sps will run with a demo configuration and data for 12 months (19790101 -> 19800101) | ||
+ | |||
+ | === building the SPS 5.8.3 executable === | ||
+ | |||
+ | mkdir my_directory | ||
+ | cd my_directory | ||
+ | ouv_exp_sps | ||
+ | rdemkdep | ||
+ | rdemklink | ||
+ | make dep | ||
+ | make sps | ||
+ | |||
+ | the executable will be found at | ||
+ | build-linux26-x86-64/bin/intel1400/sps_Linux_x86-64.Abs | ||
+ | |||
+ | === running SPS 5.8.3 === | ||
+ | |||
+ | same steps as the demo, but with your own config files pointing | ||
+ | to your driving data and probably your own executable |
Version actuelle datée du 16 de décembre 2016 à 17:00
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) # # time for a stronger test run # mkdir some_demo_run_directory cp DemoConfigs/* some_demo_run_directory cp sps_Linux_x86-64.Abs some_demo_run_directory # cd some_demo_run_directory vi configexp.cfg # edit exper_archive=... to point it to an existing directory # # configexp.cfg is set for a 3 month run on 2 processors # . s.ssmuse.dot sps/1.1.0.2 run_sps.sh 2>&1 | tee run.txt #
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 (sample configuration files will be found in the DemoConfigs directory of th edistribution) 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 for ISBA 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., /
SPS 5.8.3 based on GEM 4.8.3, physics 5.8.3, INTEL fortran 14.0.2/14.0.4
available on UQAM servers, availability on guillimin to follow soon
using SPS 5.8.3 (always necessary before any of the following actions)
. s.ssmuse.dot sps/5.8.3 make sure that ${HOME}/ARCHIVE points to archival space NOTE: environment variable storage_model MUST BE DEFINED
DEMO SPS 5.8.3
mkdir my_directory cd my_directory get_sps_demo_configs # get a working set of config files run_sps.sh
sps will run with a demo configuration and data for 12 months (19790101 -> 19800101)
building the SPS 5.8.3 executable
mkdir my_directory cd my_directory ouv_exp_sps rdemkdep rdemklink make dep make sps the executable will be found at build-linux26-x86-64/bin/intel1400/sps_Linux_x86-64.Abs
running SPS 5.8.3
same steps as the demo, but with your own config files pointing to your driving data and probably your own executable