Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

building the SPS 1.1.0 executable

Volet
NOTE:

...

environment

...

variable

...

storage_model

...

MUST

...

BE

...

DEFINED

...


NEW WAY


Volet
#

...

    (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)


Volet

.

...

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

...


Volet
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

...


Volet
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

...


Volet
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

...


Volet
@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 Available on UQAM servers, availability on guillimin to follow soon

...

.

Using SPS 5.8.3 (always necessary before any of the following actions)


Volet
    .

...

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


Volet

...

    mkdir

...

my_directory

...


    cd

...

my_directory

...


    get_sps_demo_

...

configs     #

...

get

...

a

...

working

...

set

...

of

...

config

...

files

...


    run_sps.sh

...


sps SPS will run with a demo configuration and data for 12 months (19790101 -> 19800101)

...

Building the SPS 5.8.3 executable


Volet
    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

...

.