SPS 1.1.0 run

Un article de Informaticiens département des sciences de la Terre et l'atmosphère
Version depuis le 24 d'août 2015 à 19:28 par Michel (Discuter | changes)
Aller à: navigation, charcher

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 (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 config 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=$(pwd -P)/ARCHIVE                                   # where output is to be sent by post_sps.sh
  #
  exper_climato="/home/valin/project/SPS/Data/Input/climato"        # climatology file
  exper_geophy="/home/valin/project/SPS/Data/Input/Gem_geophy.fst"  # geophysical fields file
  #
  # anal_*_YYYYMMDD or anal_*_YYYYMMDD_yyy   (expected names for initial conditions files)
  #
  exper_anal0=/gs/project/ugh-612-aa/valin/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'