New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 11822 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests – NEMO

Ignore:
Timestamp:
2019-10-29T11:41:36+01:00 (4 years ago)
Author:
acc
Message:

Branch 2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps. Sette tested updates to branch to align with trunk changes between 10721 and 11740. Sette tests are passing but results differ from branch before these changes (except for GYRE_PISCES and VORTEX) and branch results already differed from trunk because of algorithmic fixes. Will need more checks to confirm correctness.

Location:
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests
Files:
1 deleted
49 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/BENCH/EXPREF/best_jpni_jpnj_eorca025

    r9856 r11822  
    624624    nb_cores 36180 ( 180 x 201 ), nb_points 80 ( 10 x 8 ) 
    625625    nb_cores 38560 ( 160 x 241 ), nb_points 77 ( 11 x 7 ) 
     626    nb_cores 41406 ( 206 x 201 ), nb_points 72 ( 9 x 8 ) 
     627    nb_cores 43380 ( 180 x 241 ), nb_points 70 ( 10 x 7 ) 
     628    nb_cores 48240 ( 240 x 201 ), nb_points 64 ( 8 x 8 ) 
     629    nb_cores 49646 ( 206 x 241 ), nb_points 63 ( 9 x 7 ) 
     630    nb_cores 54360 ( 180 x 302 ), nb_points 60 ( 10 x 6 ) 
     631    nb_cores 54360 ( 360 x 151 ), nb_points 60 ( 6 x 10 ) 
     632    nb_cores 57840 ( 240 x 241 ), nb_points 56 ( 8 x 7 ) 
     633    nb_cores 62212 ( 206 x 302 ), nb_points 54 ( 9 x 6 ) 
     634    nb_cores 69408 ( 288 x 241 ), nb_points 49 ( 7 x 7 ) 
     635    nb_cores 72360 ( 360 x 201 ), nb_points 48 ( 6 x 8 ) 
     636    nb_cores 82812 ( 206 x 402 ), nb_points 45 ( 9 x 5 ) 
     637    nb_cores 86760 ( 360 x 241 ), nb_points 42 ( 6 x 7 ) 
     638    nb_cores 96480 ( 240 x 402 ), nb_points 40 ( 8 x 5 ) 
     639    nb_cores 96480 ( 480 x 201 ), nb_points 40 ( 5 x 8 ) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/BENCH/EXPREF/best_jpni_jpnj_eorca12

    r9856 r11822  
    13001300    nb_cores 49852 ( 206 x 242 ), nb_points 345 ( 23 x 15 ) 
    13011301    nb_cores 49950 ( 270 x 185 ), nb_points 342 ( 18 x 19 ) 
     1302    nb_cores 50400 ( 288 x 175 ), nb_points 340 ( 17 x 20 ) 
     1303    nb_cores 50400 ( 240 x 210 ), nb_points 340 ( 20 x 17 ) 
     1304    nb_cores 51294 ( 309 x 166 ), nb_points 336 ( 16 x 21 ) 
     1305    nb_cores 52272 ( 216 x 242 ), nb_points 330 ( 22 x 15 ) 
     1306    nb_cores 53190 ( 270 x 197 ), nb_points 324 ( 18 x 18 ) 
     1307    nb_cores 53280 ( 288 x 185 ), nb_points 323 ( 17 x 19 ) 
     1308    nb_cores 54000 ( 240 x 225 ), nb_points 320 ( 20 x 16 ) 
     1309    nb_cores 55176 ( 228 x 242 ), nb_points 315 ( 21 x 15 ) 
     1310    nb_cores 56199 ( 393 x 143 ), nb_points 312 ( 13 x 24 ) 
     1311    nb_cores 56700 ( 270 x 210 ), nb_points 306 ( 18 x 17 ) 
     1312    nb_cores 57165 ( 309 x 185 ), nb_points 304 ( 16 x 19 ) 
     1313    nb_cores 58080 ( 240 x 242 ), nb_points 300 ( 20 x 15 ) 
     1314    nb_cores 58916 ( 206 x 286 ), nb_points 299 ( 23 x 13 ) 
     1315    nb_cores 59760 ( 360 x 166 ), nb_points 294 ( 14 x 21 ) 
     1316    nb_cores 60480 ( 288 x 210 ), nb_points 289 ( 17 x 17 ) 
     1317    nb_cores 60750 ( 270 x 225 ), nb_points 288 ( 18 x 16 ) 
     1318    nb_cores 61605 ( 333 x 185 ), nb_points 285 ( 15 x 19 ) 
     1319    nb_cores 63000 ( 360 x 175 ), nb_points 280 ( 14 x 20 ) 
     1320    nb_cores 64800 ( 288 x 225 ), nb_points 272 ( 17 x 16 ) 
     1321    nb_cores 65340 ( 270 x 242 ), nb_points 270 ( 18 x 15 ) 
     1322    nb_cores 66600 ( 360 x 185 ), nb_points 266 ( 14 x 19 ) 
     1323    nb_cores 68040 ( 216 x 315 ), nb_points 264 ( 22 x 12 ) 
     1324    nb_cores 68640 ( 240 x 286 ), nb_points 260 ( 20 x 13 ) 
     1325    nb_cores 69525 ( 309 x 225 ), nb_points 256 ( 16 x 16 ) 
     1326    nb_cores 69696 ( 288 x 242 ), nb_points 255 ( 17 x 15 ) 
     1327    nb_cores 70920 ( 360 x 197 ), nb_points 252 ( 14 x 18 ) 
     1328    nb_cores 72705 ( 393 x 185 ), nb_points 247 ( 13 x 19 ) 
     1329    nb_cores 74778 ( 309 x 242 ), nb_points 240 ( 16 x 15 ) 
     1330    nb_cores 75600 ( 360 x 210 ), nb_points 238 ( 14 x 17 ) 
     1331    nb_cores 77220 ( 270 x 286 ), nb_points 234 ( 18 x 13 ) 
     1332    nb_cores 79680 ( 480 x 166 ), nb_points 231 ( 11 x 21 ) 
     1333    nb_cores 79920 ( 432 x 185 ), nb_points 228 ( 12 x 19 ) 
     1334    nb_cores 80586 ( 333 x 242 ), nb_points 225 ( 15 x 15 ) 
     1335    nb_cores 81000 ( 360 x 225 ), nb_points 224 ( 14 x 16 ) 
     1336    nb_cores 82368 ( 288 x 286 ), nb_points 221 ( 17 x 13 ) 
     1337    nb_cores 84000 ( 480 x 175 ), nb_points 220 ( 11 x 20 ) 
     1338    nb_cores 84000 ( 240 x 350 ), nb_points 220 ( 20 x 11 ) 
     1339    nb_cores 85050 ( 270 x 315 ), nb_points 216 ( 18 x 12 ) 
     1340    nb_cores 87120 ( 360 x 242 ), nb_points 210 ( 14 x 15 ) 
     1341    nb_cores 88374 ( 309 x 286 ), nb_points 208 ( 16 x 13 ) 
     1342    nb_cores 90720 ( 288 x 315 ), nb_points 204 ( 17 x 12 ) 
     1343    nb_cores 90720 ( 432 x 210 ), nb_points 204 ( 12 x 17 ) 
     1344    nb_cores 94500 ( 270 x 350 ), nb_points 198 ( 18 x 11 ) 
     1345    nb_cores 94680 ( 360 x 263 ), nb_points 196 ( 14 x 14 ) 
     1346    nb_cores 95106 ( 393 x 242 ), nb_points 195 ( 13 x 15 ) 
     1347    nb_cores 97200 ( 432 x 225 ), nb_points 192 ( 12 x 16 ) 
     1348    nb_cores 99900 ( 540 x 185 ), nb_points 190 ( 10 x 19 ) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/BENCH/EXPREF/namelist_cfg_orca025_like

    r10539 r11822  
    99   nn_it000    =       1   !  first time step 
    1010   nn_itend    =    1000   !  last time step  
    11    nn_stock    =       0   !  frequency of creation of a restart file (modulo referenced to 1) 
    12    nn_write    =       0   !  frequency of write in the output file   (modulo referenced to nn_it000) 
     11   nn_stock    =      -1   !  frequency of creation of a restart file (modulo referenced to 1) 
     12   nn_write    =      -1   !  frequency of write in the output file   (modulo referenced to nn_it000) 
    1313/ 
    1414!----------------------------------------------------------------------- 
     
    3030&namctl        !   Control prints                                       (default: OFF) 
    3131!----------------------------------------------------------------------- 
    32    ln_ctl      = .false.   !  trends control print (expensive!) 
    3332   nn_print    =    0      !  level of print (0 no extra print) 
    3433   ln_timing   = .false.   !  timing by routine write out in timing.output file 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/BENCH/EXPREF/namelist_cfg_orca12_like

    r10539 r11822  
    99   nn_it000    =       1   !  first time step 
    1010   nn_itend    =    1000   !  last time step  
    11    nn_stock    =       0   !  frequency of creation of a restart file (modulo referenced to 1) 
    12    nn_write    =       0   !  frequency of write in the output file   (modulo referenced to nn_it000) 
     11   nn_stock    =      -1   !  frequency of creation of a restart file (modulo referenced to 1) 
     12   nn_write    =      -1   !  frequency of write in the output file   (modulo referenced to nn_it000) 
    1313/ 
    1414!----------------------------------------------------------------------- 
     
    3030&namctl        !   Control prints                                       (default: OFF) 
    3131!----------------------------------------------------------------------- 
    32    ln_ctl      = .false.   !  trends control print (expensive!) 
    3332   nn_print    =    0      !  level of print (0 no extra print) 
    3433   ln_timing   = .false.   !  timing by routine write out in timing.output file 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/BENCH/EXPREF/namelist_cfg_orca1_like

    r10539 r11822  
    99   nn_it000    =       1   !  first time step 
    1010   nn_itend    =    1000   !  last time step  
    11    nn_stock    =       0   !  frequency of creation of a restart file (modulo referenced to 1) 
    12    nn_write    =       0   !  frequency of write in the output file   (modulo referenced to nn_it000) 
     11   nn_stock    =      -1   !  frequency of creation of a restart file (modulo referenced to 1) 
     12   nn_write    =      -1   !  frequency of write in the output file   (modulo referenced to nn_it000) 
    1313/ 
    1414!----------------------------------------------------------------------- 
     
    3030&namctl        !   Control prints                                       (default: OFF) 
    3131!----------------------------------------------------------------------- 
    32    ln_ctl      = .false.   !  trends control print (expensive!) 
    3332   nn_print    =    0      !  level of print (0 no extra print) 
    3433   ln_timing   = .false.   !  timing by routine write out in timing.output file 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/BENCH/EXPREF/namelist_ice_cfg

    r10179 r11822  
    7474&namini         !   Ice initialization 
    7575!------------------------------------------------------------------------------ 
     76   rn_thres_sst     =   0.5           !  max delta temp. above Tfreeze with initial ice = (sst - tfreeze) 
    7677/ 
    7778!------------------------------------------------------------------------------ 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/BENCH/EXPREF/namelist_top_cfg

    r10343 r11822  
    5757!          !  file name  ! frequency (hours) ! variable  ! time interp. !  clim  ! 'yearly'/ ! weights  ! rotation ! land/sea mask ! 
    5858!          !             !  (if <0  months)  !   name    !   (logical)  !  (T/F) ! 'monthly' ! filename ! pairing  ! filename      ! 
    59    sn_trcdta(1)  = 'data_DIC_nomask'        ,        -12        ,  'DIC'     ,    .false.   , .true. , 'yearly'  , ''       , ''   , '' 
    60    sn_trcdta(2)  = 'data_Alkalini_nomask'   ,        -12        ,  'Alkalini',    .false.   , .true. , 'yearly'  , ''       , ''   , '' 
    61    sn_trcdta(3)  = 'data_O2_nomask'         ,        -1         ,  'O2'      ,    .true.    , .true. , 'yearly'  , ''       , ''   , '' 
    62    sn_trcdta(5)  = 'data_PO4_nomask'        ,        -1         ,  'PO4'     ,    .true.    , .true. , 'yearly'  , ''       , ''   , '' 
    63    sn_trcdta(7)  = 'data_Si_nomask'         ,        -1         ,  'Si'      ,    .true.    , .true. , 'yearly'  , ''       , ''   , '' 
    64    sn_trcdta(10) = 'data_DOC_nomask'        ,        -12        ,  'DOC'     ,    .false.   , .true. , 'yearly'  , ''       , ''   , '' 
    65    sn_trcdta(14) = 'data_Fer_nomask'        ,        -12        ,  'Fer'     ,    .false.   , .true. , 'yearly'  , ''       , ''   , '' 
    66    sn_trcdta(23) = 'data_NO3_nomask'        ,        -1         ,  'NO3'     ,    .true.    , .true. , 'yearly'  , ''       , ''   , '' 
     59   sn_trcdta(1)  = 'data_DIC_nomask'        ,        -12.       ,  'DIC'     ,    .false.   , .true. , 'yearly'  , ''       , ''   , '' 
     60   sn_trcdta(2)  = 'data_Alkalini_nomask'   ,        -12.       ,  'Alkalini',    .false.   , .true. , 'yearly'  , ''       , ''   , '' 
     61   sn_trcdta(3)  = 'data_O2_nomask'         ,        -1.        ,  'O2'      ,    .true.    , .true. , 'yearly'  , ''       , ''   , '' 
     62   sn_trcdta(5)  = 'data_PO4_nomask'        ,        -1.        ,  'PO4'     ,    .true.    , .true. , 'yearly'  , ''       , ''   , '' 
     63   sn_trcdta(7)  = 'data_Si_nomask'         ,        -1.        ,  'Si'      ,    .true.    , .true. , 'yearly'  , ''       , ''   , '' 
     64   sn_trcdta(10) = 'data_DOC_nomask'        ,        -12.       ,  'DOC'     ,    .false.   , .true. , 'yearly'  , ''       , ''   , '' 
     65   sn_trcdta(14) = 'data_Fer_nomask'        ,        -12.       ,  'Fer'     ,    .false.   , .true. , 'yearly'  , ''       , ''   , '' 
     66   sn_trcdta(23) = 'data_NO3_nomask'        ,        -1.        ,  'NO3'     ,    .true.    , .true. , 'yearly'  , ''       , ''   , '' 
    6767   rn_trfac(1)   =   1.0e-06  !  multiplicative factor 
    6868   rn_trfac(2)   =   1.0e-06  !  -      -      -     - 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/BENCH/EXPREF/sh_bench

    r9869 r11822  
    99machine=$( hostname | sed -e "s/[0-9]*//g" ) 
    1010case $machine in  
     11    "jean-zay")     ncore_node=40 ;; 
    1112    "beaufixlogin") ncore_node=40 ;; 
    1213    "curie")        ncore_node=16 ;; 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/BENCH/EXPREF/submit_bench

    r9870 r11822  
    66# 
    77set -u 
    8 set -vx 
     8#set -vx 
    99# 
    1010cores=$1 
     
    1515# 
    1616# number of processes for each executable 
    17     nproc_exe1=$( echo $cores | bc ) 
    18   (( nproc = $nproc_exe1 )) 
    19 (( nnode = $nproc / $ncore_node )) 
    20 [ $nnode -lt 1 ] && nnode=1 
     17nproc_exe1=$( echo $cores | bc ) 
     18nproc=$nproc_exe1 
     19nnode=$(( ( $nproc + $ncore_node - 1 )  / $ncore_node )) 
    2120 
    2221nproc5=$( printf "%05d\n" ${nproc_exe1} ) 
     22 
     23case ${resolution} in 
     24    "1") 
     25   if [ $nproc_exe1 -lt 50 ] 
     26   then 
     27       timejob=3600 
     28   elif [ $nproc_exe1 -lt 100 ] 
     29   then 
     30       timejob=1800 
     31   elif [ $nproc_exe1 -lt 200 ] 
     32   then 
     33       timejob=900 
     34   else 
     35       timejob=600 
     36   fi 
     37   ;; 
     38    "025") 
     39   if [ $nproc_exe1 -lt 50 ] 
     40   then 
     41       timejob=15000 
     42   elif [ $nproc_exe1 -lt 100 ] 
     43   then 
     44       timejob=7000 
     45   elif [ $nproc_exe1 -lt 200 ] 
     46   then 
     47       timejob=3600 
     48   elif [ $nproc_exe1 -lt 400 ] 
     49   then 
     50       timejob=2000 
     51   elif [ $nproc_exe1 -lt 800 ] 
     52   then 
     53       timejob=1000 
     54   else 
     55       timejob=600 
     56   fi 
     57   ;; 
     58    "12") 
     59   if [ $nproc_exe1 -lt 200 ] 
     60   then 
     61       timejob=30000 
     62   elif [ $nproc_exe1 -lt 400 ] 
     63   then 
     64       timejob=15000 
     65   elif [ $nproc_exe1 -lt 800 ] 
     66   then 
     67       timejob=20000 
     68   elif [ $nproc_exe1 -lt 1600 ] 
     69   then 
     70       timejob=15000 
     71   elif [ $nproc_exe1 -lt 3200 ] 
     72   then 
     73       timejob=7500 
     74   elif [ $nproc_exe1 -lt 10000 ] 
     75   then 
     76       timejob=5000 
     77   elif [ $nproc_exe1 -lt 20000 ] 
     78   then 
     79       timejob=2500 
     80   else 
     81       timejob=1200 
     82   fi 
     83   ;; 
     84esac 
     85 
    2386 
    2487###################################################################### 
     
    100163if [[ ( "$machine" == "curie" ) || ( "$machine" == "irene" ) ]] 
    101164then 
    102      
    103     case ${resolution} in 
    104    "1") 
    105        if [ $nproc_exe1 -lt 50 ] 
    106        then 
    107       timejob=3600 
    108        elif [ $nproc_exe1 -lt 100 ] 
    109        then 
    110       timejob=1800 
    111        elif [ $nproc_exe1 -lt 200 ] 
    112        then 
    113       timejob=900 
    114        else 
    115       timejob=600 
    116        fi 
    117        ;; 
    118    "025") 
    119        if [ $nproc_exe1 -lt 50 ] 
    120        then 
    121       timejob=15000 
    122        elif [ $nproc_exe1 -lt 100 ] 
    123        then 
    124       timejob=7000 
    125        elif [ $nproc_exe1 -lt 200 ] 
    126        then 
    127       timejob=3600 
    128        elif [ $nproc_exe1 -lt 400 ] 
    129        then 
    130       timejob=2000 
    131        elif [ $nproc_exe1 -lt 800 ] 
    132        then 
    133       timejob=1000 
    134        else 
    135       timejob=600 
    136        fi 
    137        ;; 
    138    "12") 
    139        if [ $nproc_exe1 -lt 200 ] 
    140        then 
    141       timejob=30000 
    142        elif [ $nproc_exe1 -lt 400 ] 
    143        then 
    144       timejob=15000 
    145        elif [ $nproc_exe1 -lt 800 ] 
    146        then 
    147       timejob=8000 
    148        elif [ $nproc_exe1 -lt 1600 ] 
    149        then 
    150       timejob=5000 
    151        elif [ $nproc_exe1 -lt 3200 ] 
    152        then 
    153       timejob=2500 
    154        else 
    155       timejob=1200 
    156        fi 
    157    ;; 
    158     esac 
    159165 
    160166    [ "$machine" == "curie" ] && queuename=standard || queuename=skylake 
    161167     
    162     jobname=$HOME/binrun/jobbench 
     168    EXPjob=../EXP_${resolution}_${nproc5}_${dateref} 
     169    mkdir -p ${EXPjob} 
     170    cd ${EXPjob} 
     171    jobname=jobbench 
    163172    cat > $jobname << EOF 
    164173#!/bin/bash 
     
    176185# 
    177186 
    178 cd \${BRIDGE_MSUB_PWD}/.. 
    179  
    180  
    181 EXPjob=EXP_${resolution}_${nproc5}_${dateref} 
    182 rsync -av --exclude="*eo" EXPREF/ \${EXPjob}/ 
    183 rsync -av EXP00/nemo \${EXPjob}/nemo 
    184 cd \${EXPjob} 
     187cd \${BRIDGE_MSUB_PWD} 
     188 
     189for ff in \${BRIDGE_MSUB_PWD}/../EXPREF/namelist_*cfg \${BRIDGE_MSUB_PWD}/../EXPREF/namelist_*ref \${BRIDGE_MSUB_PWD}/../BLD/bin/nemo.exe 
     190do 
     191    cp \$ff . 
     192done 
    185193 
    186194jpni=${cores/\**/} 
    187195jpnj=${cores/?*\*/} 
    188196 
    189 sed -e "s/jpni *=.*/jpni = \${jpni}/" -e "s/jpnj *=.*/jpnj = \${jpnj}/" namelist_cfg_orca${resolution}_like > namelist_cfg 
    190  
    191 time ccc_mprun -n \${BRIDGE_MSUB_NPROC} ./nemo > jobout_${resolution}_${nproc5}_${dateref} 
     197sed -e "s/jpni *=.*/jpni = \${jpni}/" \ 
     198    -e "s/jpnj *=.*/jpnj = \${jpnj}/"\ 
     199    -e "s/ln_timing *= *.false./ln_timing   =  .true./" \ 
     200     \${BRIDGE_MSUB_PWD}/../EXPREF/namelist_cfg_orca${resolution}_like > namelist_cfg 
     201 
     202time ccc_mprun -n \${BRIDGE_MSUB_NPROC} ./nemo.exe > jobout_${resolution}_${nproc5}_${dateref} 2>&1 
    192203 
    193204EOF 
     
    196207 
    197208fi 
     209 
     210###################################################################### 
     211### Jean-Zay 
     212###################################################################### 
     213 
     214if [ "$machine" == "jean-zay" ] 
     215then 
     216    hh=$( printf "%02d\n" $(( ${timejob} / 3600 )) ) 
     217    mm=$( printf "%02d\n" $(( ( ${timejob} % 3600 ) / 60 )) ) 
     218    ss=$( printf "%02d\n" $(( ( ${timejob} % 3600 ) % 60 )) ) 
     219 
     220    EXPjob=../EXP_${resolution}_${nproc5}_${dateref} 
     221    mkdir -p ${EXPjob} 
     222    cd ${EXPjob} 
     223    jobname=jobbench 
     224    cat > $jobname << EOF 
     225#!/bin/bash 
     226#SBATCH --job-name=Seq        # nom du job 
     227#SBATCH --partition=cpu_gct3   # demande d'allocation sur la partition CPU 
     228#SBATCH --nodes=${nnode}             # nombre de noeuds 
     229#SBATCH --ntasks-per-node=${ncore_node}  # nombre de taches MPI par noeud 
     230#SBATCH --ntasks-per-core=1        # 1 processus MPI par coeur physique (pas d'hyperthreading) 
     231#SBATCH --time=${hh}:${mm}:${ss}       # temps d execution maximum demande (HH:MM:SS) 
     232#SBATCH --output=bench_${resolution}_${nproc5}_%j.eo        # nom du fichier de sortie 
     233#SBATCH --error=bench_${resolution}_${nproc5}_%j.eo         # nom du fichier d'erreur (ici en commun avec la sortie) 
     234#========================================== 
     235set -u 
     236#set -xv 
     237# 
     238#cd \${SLURM_SUBMIT_DIR} 
     239cd \${JOBSCRATCH} 
     240pwd 
     241 
     242for ff in \${SLURM_SUBMIT_DIR}/../EXPREF/namelist_*cfg \${SLURM_SUBMIT_DIR}/../EXPREF/namelist_*ref \${SLURM_SUBMIT_DIR}/../BLD/bin/nemo.exe 
     243do 
     244    cp \$ff . 
     245done 
     246 
     247jpni=${cores/\**/} 
     248jpnj=${cores/?*\*/} 
     249 
     250sed -e "s/jpni *=.*/jpni = \${jpni}/" \ 
     251    -e "s/jpnj *=.*/jpnj = \${jpnj}/" \ 
     252    -e "s/ln_timing *= *.false./ln_timing   =  .true./" \ 
     253    \${SLURM_SUBMIT_DIR}/../EXPREF/namelist_cfg_orca${resolution}_like > namelist_cfg 
     254 
     255ls -l 
     256 
     257echo  
     258echo  
     259echo " =========== start the model ===========" 
     260echo  
     261echo  
     262 
     263time srun --mpi=pmi2 --cpu-bind=cores -K1 -n ${nproc} ./nemo.exe > jobout_${resolution}_${nproc5}_${dateref} 2>&1 
     264 
     265ls -l 
     266 
     267if [ "\$( pwd )" != "\${SLURM_SUBMIT_DIR}" ] 
     268then  
     269    rsync -av namelist_cfg time.step ocean.output jobout_${resolution}_${nproc5}_${dateref} communication_report.txt layout.dat timing.output output.namelist* \${SLURM_SUBMIT_DIR} 
     270fi 
     271 
     272EOF 
     273 
     274    sbatch $jobname 
     275 
     276fi 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/BENCH/MY_SRC/diawri.F90

    r11758 r11822  
    211211      ENDIF 
    212212 
     213      IF( ln_zad_Aimp ) ww = ww + wi               ! Recombine explicit and implicit parts of vertical velocity for diagnostic output 
     214      ! 
    213215      CALL iom_put( "woce", ww )                   ! vertical velocity 
    214216      IF( iom_use('w_masstr') .OR. iom_use('w_masstr2') ) THEN   ! vertical mass transport & its square value 
     
    221223         IF( iom_use('w_masstr2') )   CALL iom_put( "w_masstr2", z3d(:,:,:) * z3d(:,:,:) ) 
    222224      ENDIF 
     225      ! 
     226      IF( ln_zad_Aimp ) ww = ww - wi               ! Remove implicit part of vertical velocity that was added for diagnostic output 
    223227 
    224228      CALL iom_put( "avt" , avt )                  ! T vert. eddy diff. coef. 
     
    460464      CALL iom_rstput( 0, 0, inum, 'vozocrtx', uu(:,:,:,Kmm)                )    ! now i-velocity 
    461465      CALL iom_rstput( 0, 0, inum, 'vomecrty', vv(:,:,:,Kmm)                )    ! now j-velocity 
    462       CALL iom_rstput( 0, 0, inum, 'vovecrtz', ww                )    ! now k-velocity 
     466      IF( ln_zad_Aimp ) THEN 
     467         CALL iom_rstput( 0, 0, inum, 'vovecrtz', ww + wi        )    ! now k-velocity 
     468      ELSE 
     469         CALL iom_rstput( 0, 0, inum, 'vovecrtz', ww             )    ! now k-velocity 
     470      ENDIF 
    463471      IF( ALLOCATED(ahtu) ) THEN 
    464472         CALL iom_rstput( 0, 0, inum,  'ahtu', ahtu              )    ! aht at u-point 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/BENCH/MY_SRC/usrdef_istate.F90

    r10179 r11822  
    6464      DO jj = 1, jpj 
    6565         DO ji = 1, jpi 
    66             z2d(ji,jj) = 0.1 * ( 0.5 - REAL( nimpp + ji - 1 + ( njmpp + jj - 2 ) * jpiglo, wp ) / REAL( jpiglo * jpjglo, wp ) ) 
     66            z2d(ji,jj) = 0.1 * ( 0.5 - REAL( mig(ji) + mjg(jj) * jpiglo, wp ) / REAL( jpiglo * jpjglo, wp ) ) 
    6767         ENDDO 
    6868      ENDDO 
     
    7373      DO jk = 1, jpk 
    7474         zfact = REAL(jk-1,wp) / REAL(jpk-1,wp)   ! 0 to 1 to add a basic stratification 
    75          ! temperature choosen to lead to 20% ice 
    76          pts(:,:,jk,jp_tem) = 2._wp - 0.1_wp * zfact + z2d(:,:) * 100._wp ! 2 to 1.9 +/- 5 degG 
    77          WHERE ( pts(:,:,jk,jp_tem) < -1.5_wp ) pts(:,:,jk,jp_tem) = -1.5_wp + z2d(:,:) * 0.2_wp   
     75         ! temperature choosen to lead to ~50% ice at the beginning if rn_thres_sst = 0.5 
     76         pts(:,:,jk,jp_tem) = 20._wp*z2d(:,:) - 1._wp - 0.5_wp * zfact    ! -1 to -1.5 +/-1.0 degG 
    7877         ! salinity:   
    7978         pts(:,:,jk,jp_sal) = 30._wp + 1._wp * zfact + z2d(:,:)           ! 30 to 31 +/- 0.05 psu 
     
    8483      ! 
    8584      CALL lbc_lnk('usrdef_istate', pssh, 'T',  1. )            ! apply boundary conditions 
    86       CALL lbc_lnk( 'usrdef_istate', pts, 'T',  1. )            ! apply boundary conditions 
    87       CALL lbc_lnk(  'usrdef_istate', pu, 'U', -1. )            ! apply boundary conditions 
    88       CALL lbc_lnk(  'usrdef_istate', pv, 'V', -1. )            ! apply boundary conditions 
     85      CALL lbc_lnk('usrdef_istate', pts, 'T',  1. )            ! apply boundary conditions 
     86      CALL lbc_lnk('usrdef_istate',  pu, 'U', -1. )            ! apply boundary conditions 
     87      CALL lbc_lnk('usrdef_istate',  pv, 'V', -1. )            ! apply boundary conditions 
    8988       
    9089   END SUBROUTINE usr_def_istate 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/BENCH/MY_SRC/usrdef_nam.F90

    r10428 r11822  
    2929CONTAINS 
    3030 
    31    SUBROUTINE usr_def_nam( ldtxt, ldnam, cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
     31   SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
    3232      !!---------------------------------------------------------------------- 
    3333      !!                     ***  ROUTINE dom_nam  *** 
     
    4141      !! ** input   : - namusr_def namelist found in namelist_cfg 
    4242      !!---------------------------------------------------------------------- 
    43       CHARACTER(len=*), DIMENSION(:), INTENT(out) ::   ldtxt, ldnam    ! stored print information 
    4443      CHARACTER(len=*)              , INTENT(out) ::   cd_cfg          ! configuration name 
    4544      INTEGER                       , INTENT(out) ::   kk_cfg          ! configuration resolution 
     
    4847      ! 
    4948      ! 
    50       INTEGER ::   ios, ii      ! Local integer 
     49      INTEGER ::   ios         ! Local integer 
    5150      !                              !!* namusr_def namelist *!! 
    5251      INTEGER ::   nn_isize    ! number of point in i-direction of global(local) domain if >0 (<0)   
     
    5554      INTEGER ::   nn_perio    ! periodicity 
    5655      !                              !!* nammpp namelist *!! 
    57       CHARACTER(len=1) ::   cn_mpi_send 
    58       INTEGER          ::   nn_buffer, jpni, jpnj 
     56      INTEGER          ::   jpni, jpnj 
    5957      LOGICAL          ::   ln_nnogather 
    6058      !! 
    6159      NAMELIST/namusr_def/ nn_isize, nn_jsize, nn_ksize, nn_perio 
    62       NAMELIST/nammpp/ cn_mpi_send, nn_buffer, jpni, jpnj, ln_nnogather 
     60      NAMELIST/nammpp/ jpni, jpnj, ln_nnogather 
    6361      !!----------------------------------------------------------------------      
    6462      ! 
    6563      REWIND( numnam_cfg )          ! Namelist namusr_def (exist in namelist_cfg only) 
    6664      READ  ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 903 ) 
    67 903   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist', .TRUE. ) 
    68       WRITE( ldnam(:), namusr_def )       
     65903   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 
     66      ! 
     67      IF(lwm)   WRITE( numond, namusr_def )       
    6968      ! 
    7069      cd_cfg = 'BENCH'             ! name & resolution (not used) 
    7170      kk_cfg = 0 
    72  
     71      ! 
    7372      IF( nn_isize < 0 .AND. nn_jsize < 0 ) THEN 
    7473      ! 
    7574         REWIND( numnam_ref )              ! Namelist nammpp in reference namelist: mpi variables 
    7675         READ  ( numnam_ref, nammpp, IOSTAT = ios, ERR = 901) 
    77 901      IF( ios /= 0 )   CALL ctl_nam ( ios , 'nammpp in reference namelist', lwp ) 
     76901      IF( ios /= 0 )   CALL ctl_nam ( ios , 'nammpp in reference namelist' ) 
    7877         ! 
    7978         REWIND( numnam_cfg )              ! Namelist nammpp in configuration namelist: mpi variables 
    8079         READ  ( numnam_cfg, nammpp, IOSTAT = ios, ERR = 902 ) 
    81 902      IF( ios >  0 )   CALL ctl_nam ( ios , 'nammpp in configuration namelist', lwp ) 
     80902      IF( ios >  0 )   CALL ctl_nam ( ios , 'nammpp in configuration namelist' ) 
    8281 
    8382         kpi = ( -nn_isize - 2*nn_hls ) * jpni + 2*nn_hls 
     
    8786         kpj = nn_jsize 
    8887      ENDIF 
    89   
     88      ! 
    9089      kpk = nn_ksize 
    9190      kperio = nn_perio 
    92  
    9391      !                             ! control print 
    94       ii = 1 
    95       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    96       WRITE(ldtxt(ii),*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg'   ;   ii = ii + 1 
    97       WRITE(ldtxt(ii),*) '~~~~~~~~~~~ '                                                                 ;   ii = ii + 1 
    98       WRITE(ldtxt(ii),*) '   Namelist namusr_def : BENCH test case'                                     ;   ii = ii + 1 
    99       IF( nn_isize > 0 ) THEN 
    100          WRITE(ldtxt(ii),*) '      global domain size-x            nn_isize = ',  nn_isize              ;   ii = ii + 1 
    101       ELSE 
    102          WRITE(ldtxt(ii),*) '                                          jpni = ', jpni                   ;   ii = ii + 1 
    103          WRITE(ldtxt(ii),*) '       local domain size-x           -nn_isize = ', -nn_isize              ;   ii = ii + 1 
    104          WRITE(ldtxt(ii),*) '      global domain size-x                 kpi = ', kpi                    ;   ii = ii + 1 
     92      IF(lwp) THEN 
     93         WRITE(numout,*) '   ' 
     94         WRITE(numout,*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg' 
     95         WRITE(numout,*) '~~~~~~~~~~~ ' 
     96         WRITE(numout,*) '   Namelist namusr_def : BENCH test case' 
     97         IF( nn_isize > 0 ) THEN 
     98            WRITE(numout,*) '      global domain size-x            nn_isize = ',  nn_isize 
     99         ELSE 
     100            WRITE(numout,*) '                                          jpni = ', jpni 
     101            WRITE(numout,*) '       local domain size-x           -nn_isize = ', -nn_isize 
     102            WRITE(numout,*) '      global domain size-x                 kpi = ', kpi 
     103         ENDIF 
     104         IF( nn_jsize > 0 ) THEN 
     105            WRITE(numout,*) '      global domain size-y            nn_jsize = ', nn_jsize 
     106         ELSE 
     107            WRITE(numout,*) '                                          jpnj = ', jpnj 
     108            WRITE(numout,*) '       local domain size-y           -nn_jsize = ', -nn_jsize 
     109            WRITE(numout,*) '      global domain size-y                 kpj = ', kpj 
     110         ENDIF 
     111         WRITE(numout,*) '      global domain size-z            nn_ksize = ', nn_ksize 
     112         WRITE(numout,*) '      LBC of the global domain          kperio = ', kperio 
    105113      ENDIF 
    106       IF( nn_jsize > 0 ) THEN 
    107          WRITE(ldtxt(ii),*) '      global domain size-y            nn_jsize = ', nn_jsize               ;   ii = ii + 1 
    108       ELSE 
    109          WRITE(ldtxt(ii),*) '                                          jpnj = ', jpnj                   ;   ii = ii + 1 
    110          WRITE(ldtxt(ii),*) '       local domain size-y           -nn_jsize = ', -nn_jsize              ;   ii = ii + 1 
    111          WRITE(ldtxt(ii),*) '      global domain size-y                 kpj = ', kpj                    ;   ii = ii + 1 
    112       ENDIF 
    113       WRITE(ldtxt(ii),*) '      global domain size-z            nn_ksize = ', nn_ksize                  ;   ii = ii + 1 
    114       WRITE(ldtxt(ii),*) '      LBC of the global domain          kperio = ', kperio                    ;   ii = ii + 1 
    115114      ! 
    116115   END SUBROUTINE usr_def_nam 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/BENCH/MY_SRC/usrdef_zgr.F90

    r10170 r11822  
    194194      z2d(:,:) = REAL( jpkm1 , wp )          ! flat bottom 
    195195      ! 
     196      IF( jperio == 3 .OR. jperio ==4 ) THEN   ! add a small island in the upper corners to avoid model instabilities... 
     197         z2d(mi0(       1):mi1(     3),mj0(jpjglo-2):mj1(jpjglo)) = 0. 
     198         z2d(mi0(jpiglo-2):mi1(jpiglo),mj0(jpjglo-2):mj1(jpjglo)) = 0. 
     199      ENDIF 
     200      ! 
    196201      CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
    197202      ! 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/BENCH/MY_SRC/zdfiwm.F90

    r11758 r11822  
    407407      REWIND( numnam_ref )              ! Namelist namzdf_iwm in reference namelist : Wave-driven mixing 
    408408      READ  ( numnam_ref, namzdf_iwm, IOSTAT = ios, ERR = 901) 
    409 901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namzdf_iwm in reference namelist', lwp ) 
     409901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namzdf_iwm in reference namelist' ) 
    410410      ! 
    411411      REWIND( numnam_cfg )              ! Namelist namzdf_iwm in configuration namelist : Wave-driven mixing 
    412412      READ  ( numnam_cfg, namzdf_iwm, IOSTAT = ios, ERR = 902 ) 
    413 902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namzdf_iwm in configuration namelist', lwp ) 
     413902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namzdf_iwm in configuration namelist' ) 
    414414      IF(lwm) WRITE ( numond, namzdf_iwm ) 
    415415      ! 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/CANAL/EXPREF/context_nemo.xml

    r9930 r11822  
    66<context id="nemo"> 
    77<!-- $id$ --> 
     8    <variable_definition> 
     9    <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
     10       <variable id="ref_year" type="int"   > 1800 </variable> 
     11       <variable id="rau0"     type="float" > 1026.0 </variable> 
     12       <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
     13       <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
     14       <variable id="rhoic"    type="float" > 917.0 </variable> 
     15       <variable id="rhosn"    type="float" > 330.0 </variable> 
     16       <variable id="missval"  type="float" > 1.e20 </variable> 
     17    </variable_definition> 
    818<!-- Fields definition --> 
    919    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     
    1828     
    1929    <axis_definition> 
    20       <axis id="deptht" long_name="Vertical T levels" unit="m" positive="down" /> 
    21       <axis id="depthu" long_name="Vertical U levels" unit="m" positive="down" /> 
    22       <axis id="depthv" long_name="Vertical V levels" unit="m" positive="down" /> 
    23       <axis id="depthw" long_name="Vertical W levels" unit="m" positive="down" /> 
    24       <axis id="nfloat" long_name="Float number"      unit="-"                 /> 
    25       <axis id="icbcla"  long_name="Iceberg class"      unit="1"               /> 
    26       <axis id="ncatice" long_name="Ice category"       unit="1"               /> 
    27       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"            /> 
    28       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"            /> 
     30      <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
     31      <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
     32      <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
     33      <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
     34      <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
     35      <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
     36      <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
     37      <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
     38      <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    2939    </axis_definition> 
    3040  
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/CANAL/EXPREF/namelist_cfg

    r10075 r11822  
    275275!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    276276!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    277 !!   namflo       float parameters                                      ("key_float") 
    278 !!   nam_diaharm  Harmonic analysis of tidal constituents               ("key_diaharm") 
    279 !!   namdct       transports through some sections                      ("key_diadct") 
     277!!   namflo       float parameters                                      (default: OFF) 
     278!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
     279!!   nam_diadct   transports through some sections                      (default: OFF) 
    280280!!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    281281!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/CANAL/MY_SRC/diawri.F90

    r11771 r11822  
    532532      !!      define all the NETCDF files and fields 
    533533      !!      At each time step call histdef to compute the mean if ncessary 
    534       !!      Each nwrite time step, output the instantaneous or mean fields 
     534      !!      Each nn_write time step, output the instantaneous or mean fields 
    535535      !!---------------------------------------------------------------------- 
    536536      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index 
     
    549549      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d       ! 3D workspace 
    550550      !!---------------------------------------------------------------------- 
    551       !  
    552       IF( ln_timing )   CALL timing_start('dia_wri') 
    553551      ! 
    554552      IF( ninist == 1 ) THEN     !==  Output the initial state and forcings  ==! 
     
    557555      ENDIF 
    558556      ! 
     557      IF( nn_write == -1 )   RETURN   ! we will never do any output 
     558      !  
     559      IF( ln_timing )   CALL timing_start('dia_wri') 
     560      ! 
    559561      ! 0. Initialisation 
    560562      ! ----------------- 
     
    566568      clop = "x"         ! no use of the mask value (require less cpu time and otherwise the model crashes) 
    567569#if defined key_diainstant 
    568       zsto = nwrite * rdt 
     570      zsto = nn_write * rdt 
    569571      clop = "inst("//TRIM(clop)//")" 
    570572#else 
     
    572574      clop = "ave("//TRIM(clop)//")" 
    573575#endif 
    574       zout = nwrite * rdt 
     576      zout = nn_write * rdt 
    575577      zmax = ( nitend - nit000 + 1 ) * rdt 
    576578 
     
    603605         ! WRITE root name in date.file for use by postpro 
    604606         IF(lwp) THEN 
    605             CALL dia_nam( clhstnam, nwrite,' ' ) 
     607            CALL dia_nam( clhstnam, nn_write,' ' ) 
    606608            CALL ctl_opn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
    607609            WRITE(inum,*) clhstnam 
     
    611613         ! Define the T grid FILE ( nid_T ) 
    612614 
    613          CALL dia_nam( clhstnam, nwrite, 'grid_T' ) 
     615         CALL dia_nam( clhstnam, nn_write, 'grid_T' ) 
    614616         IF(lwp) WRITE(numout,*) " Name of NETCDF file ", clhstnam    ! filename 
    615617         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit 
     
    647649         ! Define the U grid FILE ( nid_U ) 
    648650 
    649          CALL dia_nam( clhstnam, nwrite, 'grid_U' ) 
     651         CALL dia_nam( clhstnam, nn_write, 'grid_U' ) 
    650652         IF(lwp) WRITE(numout,*) " Name of NETCDF file ", clhstnam    ! filename 
    651653         CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu,           &  ! Horizontal grid: glamu and gphiu 
     
    660662         ! Define the V grid FILE ( nid_V ) 
    661663 
    662          CALL dia_nam( clhstnam, nwrite, 'grid_V' )                   ! filename 
     664         CALL dia_nam( clhstnam, nn_write, 'grid_V' )                   ! filename 
    663665         IF(lwp) WRITE(numout,*) " Name of NETCDF file ", clhstnam 
    664666         CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv,           &  ! Horizontal grid: glamv and gphiv 
     
    673675         ! Define the W grid FILE ( nid_W ) 
    674676 
    675          CALL dia_nam( clhstnam, nwrite, 'grid_W' )                   ! filename 
     677         CALL dia_nam( clhstnam, nn_write, 'grid_W' )                   ! filename 
    676678         IF(lwp) WRITE(numout,*) " Name of NETCDF file ", clhstnam 
    677679         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit 
     
    764766         ENDIF 
    765767 
    766          IF( .NOT. ln_cpl ) THEN 
     768         IF( ln_ssr ) THEN 
    767769            CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping"         , "W/m2"   ,   &  ! qrp 
    768770               &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     
    772774               &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    773775         ENDIF 
    774  
    775          IF( ln_cpl .AND. nn_ice <= 1 ) THEN 
    776             CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping"         , "W/m2"   ,   &  ! qrp 
    777                &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    778             CALL histdef( nid_T, "sowafldp", "Surface Water Flux: Damping"        , "Kg/m2/s",   &  ! erp 
    779                &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    780             CALL histdef( nid_T, "sosafldp", "Surface salt flux: Damping"         , "Kg/m2/s",   &  ! erp * sn 
    781                &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    782          ENDIF 
    783           
     776        
    784777         clmx ="l_max(only(x))"    ! max index on a period 
    785778!         CALL histdef( nid_T, "sobowlin", "Bowl Index"                         , "W-point",   &  ! bowl INDEX  
     
    857850      ! donne le nombre d'elements, et ndex la liste des indices a sortir 
    858851 
    859       IF( lwp .AND. MOD( itmod, nwrite ) == 0 ) THEN  
     852      IF( lwp .AND. MOD( itmod, nn_write ) == 0 ) THEN  
    860853         WRITE(numout,*) 'dia_wri : write model outputs in NetCDF files at ', kt, 'time-step' 
    861854         WRITE(numout,*) '~~~~~~ ' 
     
    921914      ENDIF 
    922915 
    923       IF( .NOT. ln_cpl ) THEN 
     916      IF( ln_ssr ) THEN 
    924917         CALL histwrite( nid_T, "sohefldp", it, qrp           , ndim_hT, ndex_hT )   ! heat flux damping 
    925918         CALL histwrite( nid_T, "sowafldp", it, erp           , ndim_hT, ndex_hT )   ! freshwater flux damping 
    926          IF( ln_ssr ) zw2d(:,:) = erp(:,:) * ts(:,:,1,jp_sal,Kmm) * tmask(:,:,1) 
    927          CALL histwrite( nid_T, "sosafldp", it, zw2d          , ndim_hT, ndex_hT )   ! salt flux damping 
    928       ENDIF 
    929       IF( ln_cpl .AND. nn_ice <= 1 ) THEN 
    930          CALL histwrite( nid_T, "sohefldp", it, qrp           , ndim_hT, ndex_hT )   ! heat flux damping 
    931          CALL histwrite( nid_T, "sowafldp", it, erp           , ndim_hT, ndex_hT )   ! freshwater flux damping 
    932          IF( ln_ssr ) zw2d(:,:) = erp(:,:) * ts(:,:,1,jp_sal,Kmm) * tmask(:,:,1) 
     919         zw2d(:,:) = erp(:,:) * ts(:,:,1,jp_sal,Kmm) * tmask(:,:,1) 
    933920         CALL histwrite( nid_T, "sosafldp", it, zw2d          , ndim_hT, ndex_hT )   ! salt flux damping 
    934921      ENDIF 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/CANAL/MY_SRC/domvvl.F90

    r11771 r11822  
    994994      REWIND( numnam_ref )              ! Namelist nam_vvl in reference namelist :  
    995995      READ  ( numnam_ref, nam_vvl, IOSTAT = ios, ERR = 901) 
    996 901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nam_vvl in reference namelist', lwp ) 
     996901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nam_vvl in reference namelist' ) 
    997997      REWIND( numnam_cfg )              ! Namelist nam_vvl in configuration namelist : Parameters of the run 
    998998      READ  ( numnam_cfg, nam_vvl, IOSTAT = ios, ERR = 902 ) 
    999 902   IF( ios >  0 ) CALL ctl_nam ( ios , 'nam_vvl in configuration namelist', lwp ) 
     999902   IF( ios >  0 ) CALL ctl_nam ( ios , 'nam_vvl in configuration namelist' ) 
    10001000      IF(lwm) WRITE ( numond, nam_vvl ) 
    10011001      ! 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/CANAL/MY_SRC/usrdef_nam.F90

    r10074 r11822  
    5858CONTAINS 
    5959 
    60    SUBROUTINE usr_def_nam( ldtxt, ldnam, cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
     60   SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
    6161      !!---------------------------------------------------------------------- 
    6262      !!                     ***  ROUTINE dom_nam  *** 
     
    7070      !! ** input   : - namusr_def namelist found in namelist_cfg 
    7171      !!---------------------------------------------------------------------- 
    72       CHARACTER(len=*), DIMENSION(:), INTENT(out) ::   ldtxt, ldnam    ! stored print information 
    7372      CHARACTER(len=*)              , INTENT(out) ::   cd_cfg          ! configuration name 
    7473      INTEGER                       , INTENT(out) ::   kk_cfg          ! configuration resolution 
     
    7675      INTEGER                       , INTENT(out) ::   kperio          ! lateral global domain b.c.  
    7776      ! 
    78       INTEGER ::   ios, ii      ! Local integer 
    79       REAL(wp)::   zh ! Local scalars 
     77      INTEGER ::   ios      ! Local integer 
     78      REAL(wp)::   zh       ! Local scalars 
    8079      !! 
    8180      NAMELIST/namusr_def/  rn_domszx, rn_domszy, rn_domszz, rn_dx, rn_dy, rn_dz, rn_0xratio, rn_0yratio   & 
     
    8584      !!---------------------------------------------------------------------- 
    8685      ! 
    87       ii = 1 
    88       ! 
    8986      REWIND( numnam_cfg )          ! Namelist namusr_def (exist in namelist_cfg only) 
    9087      READ  ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 
    91 902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist', .TRUE. ) 
     88902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist', cdtxt ) 
     89      ! 
     90      IF(lwm)   WRITE( numond, namusr_def ) 
    9291      ! 
    9392#if defined key_agrif  
     
    103102#endif 
    104103      ! 
    105       WRITE( ldnam(:), namusr_def ) 
     104      IF(lwm)   WRITE( numond, namusr_def ) 
    106105      ! 
    107106      cd_cfg = 'EW_CANAL'             ! name & resolution (not used) 
     
    120119      ! 
    121120      zh  = (kpk-1)*rn_dz 
    122       !                             ! control print 
    123       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    124       WRITE(ldtxt(ii),*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg'   ;   ii = ii + 1 
    125       WRITE(ldtxt(ii),*) '~~~~~~~~~~~ '                                                                 ;   ii = ii + 1 
    126       WRITE(ldtxt(ii),*) '   Namelist namusr_def : EW_CANAL test case'                                  ;   ii = ii + 1 
    127       WRITE(ldtxt(ii),*) '      horizontal domain size-x          rn_domszx  = ', rn_domszx, ' km'      ;   ii = ii + 1 
    128       WRITE(ldtxt(ii),*) '      horizontal domain size-y          rn_domszy  = ', rn_domszy, ' km'      ;   ii = ii + 1 
    129       WRITE(ldtxt(ii),*) '      vertical   domain size-z          rn_domszz  = ', rn_domszz, '  m'      ;   ii = ii + 1 
    130       WRITE(ldtxt(ii),*) '      horizontal x-resolution           rn_dx      = ',     rn_dx, ' km'      ;   ii = ii + 1 
    131       WRITE(ldtxt(ii),*) '      horizontal y-resolution           rn_dy      = ',     rn_dy, ' km'      ;   ii = ii + 1 
    132       WRITE(ldtxt(ii),*) '      vertical resolution               rn_dz      = ',     rn_dz, '  m'      ;   ii = ii + 1 
    133       WRITE(ldtxt(ii),*) '      x-domain ratio of the 0           rn_0xratio = ', rn_0xratio            ;   ii = ii + 1 
    134       WRITE(ldtxt(ii),*) '      y-domain ratio of the 0           rn_0yratio = ', rn_0yratio            ;   ii = ii + 1 
    135       WRITE(ldtxt(ii),*) '          H [m] : ', zh                                                       ;   ii = ii + 1 
    136       WRITE(ldtxt(ii),*) '      F computation                     nn_fcase   = ',   nn_fcase            ;   ii = ii + 1 
    137       WRITE(ldtxt(ii),*) '      Reference latitude                rn_ppgphi0 = ', rn_ppgphi0            ;   ii = ii + 1 
    138       WRITE(ldtxt(ii),*) '      10m wind speed                    rn_u10     = ',     rn_u10, ' m/s'    ;   ii = ii + 1 
    139       WRITE(ldtxt(ii),*) '         wind latitudinal extension     rn_windszy = ', rn_windszy, ' km'     ;   ii = ii + 1 
    140       WRITE(ldtxt(ii),*) '         wind longitudinal extension    rn_windszx = ', rn_windszx, ' km'     ;   ii = ii + 1 
    141       WRITE(ldtxt(ii),*) '         Uoce multiplicative factor     rn_uofac   = ',   rn_uofac            ;   ii = ii + 1 
    142       WRITE(ldtxt(ii),*) '      initial Canal max current        rn_vtxmax  = ',  rn_vtxmax, ' m/s'    ;   ii = ii + 1 
    143       WRITE(ldtxt(ii),*) '      initial zonal current             rn_uzonal  = ',  rn_uzonal, ' m/s'    ;   ii = ii + 1 
    144       WRITE(ldtxt(ii),*) '         Jet latitudinal extension      rn_ujetszy = ', rn_ujetszy, ' km'     ;   ii = ii + 1 
    145       WRITE(ldtxt(ii),*) '         Jet longitudinal extension     rn_ujetszx = ', rn_ujetszx, ' km'     ;   ii = ii + 1 
    146       WRITE(ldtxt(ii),*) '      bottom definition (0:flat)        nn_botcase = ', nn_botcase            ;   ii = ii + 1 
    147       WRITE(ldtxt(ii),*) '      initial condition case            nn_initcase= ', nn_initcase           ;   ii = ii + 1 
    148       WRITE(ldtxt(ii),*) '                   (0:rest, 1:zonal current, 10:shear)'                       ;   ii = ii + 1 
    149       WRITE(ldtxt(ii),*) '      add random noise on initial ssh   ln_sshnoise= ', ln_sshnoise           ;   ii = ii + 1 
    150       WRITE(ldtxt(ii),*) '      Gaussian lambda parameter          rn_lambda = ', rn_lambda             ;   ii = ii + 1 
    151       ! 
    152121      !                             ! Set the lateral boundary condition of the global domain 
    153122      kperio = 1                    ! EW_CANAL configuration : closed basin 
    154       ! 
    155       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    156       WRITE(ldtxt(ii),*) '   Lateral boundary condition of the global domain'                           ;   ii = ii + 1 
    157       WRITE(ldtxt(ii),*) '      EW_CANAL : closed basin            jperio = ', kperio                   ;   ii = ii + 1 
     123      !                             ! control print 
     124      IF(lwp) THEN 
     125         WRITE(numout,*) '   ' 
     126         WRITE(numout,*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg' 
     127         WRITE(numout,*) '~~~~~~~~~~~ ' 
     128         WRITE(numout,*) '   Namelist namusr_def : EW_CANAL test case' 
     129         WRITE(numout,*) '      horizontal domain size-x          rn_domszx  = ', rn_domszx, ' km' 
     130         WRITE(numout,*) '      horizontal domain size-y          rn_domszy  = ', rn_domszy, ' km' 
     131         WRITE(numout,*) '      vertical   domain size-z          rn_domszz  = ', rn_domszz, '  m' 
     132         WRITE(numout,*) '      horizontal x-resolution           rn_dx      = ',     rn_dx, ' km' 
     133         WRITE(numout,*) '      horizontal y-resolution           rn_dy      = ',     rn_dy, ' km' 
     134         WRITE(numout,*) '      vertical resolution               rn_dz      = ',     rn_dz, '  m' 
     135         WRITE(numout,*) '      x-domain ratio of the 0           rn_0xratio = ', rn_0xratio 
     136         WRITE(numout,*) '      y-domain ratio of the 0           rn_0yratio = ', rn_0yratio 
     137         WRITE(numout,*) '          H [m] : ', zh 
     138         WRITE(numout,*) '      F computation                     nn_fcase   = ',   nn_fcase 
     139         WRITE(numout,*) '      Reference latitude                rn_ppgphi0 = ', rn_ppgphi0 
     140         WRITE(numout,*) '      10m wind speed                    rn_u10     = ',     rn_u10, ' m/s' 
     141         WRITE(numout,*) '         wind latitudinal extension     rn_windszy = ', rn_windszy, ' km' 
     142         WRITE(numout,*) '         wind longitudinal extension    rn_windszx = ', rn_windszx, ' km' 
     143         WRITE(numout,*) '         Uoce multiplicative factor     rn_uofac   = ',   rn_uofac 
     144         WRITE(numout,*) '      initial Canal max current         rn_vtxmax  = ',  rn_vtxmax, ' m/s' 
     145         WRITE(numout,*) '      initial zonal current             rn_uzonal  = ',  rn_uzonal, ' m/s' 
     146         WRITE(numout,*) '         Jet latitudinal extension      rn_ujetszy = ', rn_ujetszy, ' km' 
     147         WRITE(numout,*) '         Jet longitudinal extension     rn_ujetszx = ', rn_ujetszx, ' km' 
     148         WRITE(numout,*) '      bottom definition (0:flat)        nn_botcase = ', nn_botcase 
     149         WRITE(numout,*) '      initial condition case            nn_initcase= ', nn_initcase 
     150         WRITE(numout,*) '                   (0:rest, 1:zonal current, 10:shear)' 
     151         WRITE(numout,*) '      add random noise on initial ssh   ln_sshnoise= ', ln_sshnoise 
     152         WRITE(numout,*) '      Gaussian lambda parameter          rn_lambda = ', rn_lambda 
     153         WRITE(numout,*) '   ' 
     154         WRITE(numout,*) '   Lateral boundary condition of the global domain' 
     155         WRITE(numout,*) '      EW_CANAL : closed basin               jperio = ', kperio 
     156      ENDIF 
    158157      ! 
    159158   END SUBROUTINE usr_def_nam 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/ICE_ADV1D/EXPREF/namelist_cfg

    r10513 r11822  
    201201!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    202202!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    203 !!   namflo       float parameters                                      ("key_float") 
    204 !!   nam_diaharm  Harmonic analysis of tidal constituents               ("key_diaharm") 
    205 !!   namdct       transports through some sections                      ("key_diadct") 
     203!!   namflo       float parameters                                      (default: OFF) 
     204!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
     205!!   nam_diadct   transports through some sections                      (default: OFF) 
    206206!!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    207207!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/ICE_ADV1D/EXPREF/namelist_cfg_120pts

    r10513 r11822  
    201201!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    202202!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    203 !!   namflo       float parameters                                      ("key_float") 
    204 !!   nam_diaharm  Harmonic analysis of tidal constituents               ("key_diaharm") 
    205 !!   namdct       transports through some sections                      ("key_diadct") 
     203!!   namflo       float parameters                                      (default: OFF) 
     204!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
     205!!   nam_diadct   transports through some sections                      (default: OFF) 
    206206!!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    207207!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/ICE_ADV1D/EXPREF/namelist_cfg_240pts

    r10513 r11822  
    201201!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    202202!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    203 !!   namflo       float parameters                                      ("key_float") 
    204 !!   nam_diaharm  Harmonic analysis of tidal constituents               ("key_diaharm") 
    205 !!   namdct       transports through some sections                      ("key_diadct") 
     203!!   namflo       float parameters                                      (default: OFF) 
     204!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
     205!!   nam_diadct   transports through some sections                      (default: OFF) 
    206206!!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    207207!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/ICE_ADV1D/EXPREF/namelist_cfg_60pts

    r10513 r11822  
    201201!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    202202!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    203 !!   namflo       float parameters                                      ("key_float") 
    204 !!   nam_diaharm  Harmonic analysis of tidal constituents               ("key_diaharm") 
    205 !!   namdct       transports through some sections                      ("key_diadct") 
     203!!   namflo       float parameters                                      (default: OFF) 
     204!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
     205!!   nam_diadct   transports through some sections                      (default: OFF) 
    206206!!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    207207!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/ICE_ADV1D/MY_SRC/usrdef_nam.F90

    r10513 r11822  
    4040CONTAINS 
    4141 
    42    SUBROUTINE usr_def_nam( ldtxt, ldnam, cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
     42   SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
    4343      !!---------------------------------------------------------------------- 
    4444      !!                     ***  ROUTINE dom_nam  *** 
     
    5252      !! ** input   : - namusr_def namelist found in namelist_cfg 
    5353      !!---------------------------------------------------------------------- 
    54       CHARACTER(len=*), DIMENSION(:), INTENT(out) ::   ldtxt, ldnam    ! stored print information 
    5554      CHARACTER(len=*)              , INTENT(out) ::   cd_cfg          ! configuration name 
    5655      INTEGER                       , INTENT(out) ::   kk_cfg          ! configuration resolution 
     
    5857      INTEGER                       , INTENT(out) ::   kperio          ! lateral global domain b.c.  
    5958      ! 
    60       INTEGER ::   ios, ii   ! Local integer 
     59      INTEGER ::   ios       ! Local integer 
    6160      REAL(wp)::   zlx, zly  ! Local scalars 
    6261      !! 
     
    6463      !!---------------------------------------------------------------------- 
    6564      ! 
    66       ii = 1 
    67       ! 
    6865      REWIND( numnam_cfg )          ! Namelist namusr_def (exist in namelist_cfg only) 
    6966      READ  ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 
    70 902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist', .TRUE. ) 
     67902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 
    7168      ! 
    72       WRITE( ldnam(:), namusr_def ) 
     69      IF(lwm)   WRITE( numond, namusr_def ) 
    7370      ! 
    7471      cd_cfg = 'ICE_ADV1D'           ! name & resolution (not used) 
     
    8279      zlx = kpi*rn_dx*1.e-3 
    8380      zly = kpj*rn_dy*1.e-3 
    84       !                             ! control print 
    85       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    86       WRITE(ldtxt(ii),*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg'   ;   ii = ii + 1 
    87       WRITE(ldtxt(ii),*) '~~~~~~~~~~~ '                                                                 ;   ii = ii + 1 
    88       WRITE(ldtxt(ii),*) '   Namelist namusr_def : ICE_ADV1D test case'                                 ;   ii = ii + 1 
    89       WRITE(ldtxt(ii),*) '      horizontal resolution                    rn_dx  = ', rn_dx, ' meters'   ;   ii = ii + 1 
    90       WRITE(ldtxt(ii),*) '      horizontal resolution                    rn_dy  = ', rn_dy, ' meters'   ;   ii = ii + 1 
    91       WRITE(ldtxt(ii),*) '      ICE_ADV1D domain  '                                                     ;   ii = ii + 1 
    92       WRITE(ldtxt(ii),*) '         LX [km]: ', zlx                                                      ;   ii = ii + 1 
    93       WRITE(ldtxt(ii),*) '         LY [km]: ', zly                                                      ;   ii = ii + 1 
    94       WRITE(ldtxt(ii),*) '         resulting global domain size :        jpiglo = ', kpi                ;   ii = ii + 1 
    95       WRITE(ldtxt(ii),*) '                                               jpjglo = ', kpj                ;   ii = ii + 1 
    96       WRITE(ldtxt(ii),*) '                                               jpkglo = ', kpk                ;   ii = ii + 1 
    97       WRITE(ldtxt(ii),*) '         Coriolis:', ln_corio                                                 ;   ii = ii + 1 
    98       ! 
    9981      !                             ! Set the lateral boundary condition of the global domain 
    10082      kperio = 0                    ! ICE_ADV1D configuration : bi-periodic basin 
    101       ! 
    102       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    103       WRITE(ldtxt(ii),*) '   Lateral boundary condition of the global domain'                           ;   ii = ii + 1 
    104       WRITE(ldtxt(ii),*) '      ICE_ADV1D : closed basin                    jperio = ', kperio          ;   ii = ii + 1 
     83      !                             ! control print 
     84      IF(lwp) THEN 
     85         WRITE(numout,*) '   ' 
     86         WRITE(numout,*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg' 
     87         WRITE(numout,*) '~~~~~~~~~~~ ' 
     88         WRITE(numout,*) '   Namelist namusr_def : ICE_ADV1D test case' 
     89         WRITE(numout,*) '      horizontal resolution                    rn_dx  = ', rn_dx, ' meters' 
     90         WRITE(numout,*) '      horizontal resolution                    rn_dy  = ', rn_dy, ' meters' 
     91         WRITE(numout,*) '      ICE_ADV1D domain  ' 
     92         WRITE(numout,*) '         LX [km]: ', zlx 
     93         WRITE(numout,*) '         LY [km]: ', zly 
     94         WRITE(numout,*) '         resulting global domain size :        jpiglo = ', kpi 
     95         WRITE(numout,*) '                                               jpjglo = ', kpj 
     96         WRITE(numout,*) '                                               jpkglo = ', kpk 
     97         WRITE(numout,*) '         Coriolis:', ln_corio 
     98         WRITE(numout,*) '   ' 
     99         WRITE(numout,*) '   Lateral boundary condition of the global domain' 
     100         WRITE(numout,*) '      ICE_ADV1D : closed basin                 jperio = ', kperio 
     101      ENDIF 
    105102      ! 
    106103   END SUBROUTINE usr_def_nam 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/ICE_ADV2D/EXPREF/namelist_cfg

    r10520 r11822  
    201201!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    202202!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    203 !!   namflo       float parameters                                      ("key_float") 
    204 !!   nam_diaharm  Harmonic analysis of tidal constituents               ("key_diaharm") 
    205 !!   namdct       transports through some sections                      ("key_diadct") 
     203!!   namflo       float parameters                                      (default: OFF) 
     204!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
     205!!   nam_diadct   transports through some sections                      (default: OFF) 
    206206!!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    207207!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/ICE_ADV2D/MY_SRC/usrdef_nam.F90

    r10515 r11822  
    4040CONTAINS 
    4141 
    42    SUBROUTINE usr_def_nam( ldtxt, ldnam, cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
     42   SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
    4343      !!---------------------------------------------------------------------- 
    4444      !!                     ***  ROUTINE dom_nam  *** 
     
    5252      !! ** input   : - namusr_def namelist found in namelist_cfg 
    5353      !!---------------------------------------------------------------------- 
    54       CHARACTER(len=*), DIMENSION(:), INTENT(out) ::   ldtxt, ldnam    ! stored print information 
    5554      CHARACTER(len=*)              , INTENT(out) ::   cd_cfg          ! configuration name 
    5655      INTEGER                       , INTENT(out) ::   kk_cfg          ! configuration resolution 
     
    5857      INTEGER                       , INTENT(out) ::   kperio          ! lateral global domain b.c.  
    5958      ! 
    60       INTEGER ::   ios, ii   ! Local integer 
     59      INTEGER ::   ios       ! Local integer 
    6160      REAL(wp)::   zlx, zly  ! Local scalars 
    6261      !! 
     
    6463      !!---------------------------------------------------------------------- 
    6564      ! 
    66       ii = 1 
    67       ! 
    6865      REWIND( numnam_cfg )          ! Namelist namusr_def (exist in namelist_cfg only) 
    6966      READ  ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 
    70 902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist', .TRUE. ) 
     67902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 
     68      ! 
     69      IF(lwm)   WRITE( numond, namusr_def ) 
    7170      ! 
    7271#if defined key_agrif  
     
    7978#endif 
    8079      ! 
    81       WRITE( ldnam(:), namusr_def ) 
     80      IF(lwm)   WRITE( numond, namusr_def ) 
    8281      ! 
    8382      cd_cfg = 'ICE_ADV2D'           ! name & resolution (not used) 
    84       kk_cfg = INT( rn_dx ) 
     83      kk_cfg = NINT( rn_dx ) 
    8584      ! 
    86       ! Global Domain size:  ICE_ADV2D domain is  300 km x 300 Km x 10 m 
    87       kpi = INT( 300.e3 / rn_dx ) -1 
    88       kpj = INT( 300.e3 / rn_dy ) -1 
    89 #if defined key_agrif 
    90       IF( .NOT. Agrif_Root() ) THEN 
     85      IF( Agrif_Root() ) THEN        ! Global Domain size:  ICE_AGRIF domain is  300 km x 300 Km x 10 m 
     86         kpi = NINT( 300.e3 / rn_dx ) - 1 
     87         kpj = NINT( 300.e3 / rn_dy ) - 1 
     88      ELSE 
    9189         kpi = nbcellsx + 2 + 2*nbghostcells 
    9290         kpj = nbcellsy + 2 + 2*nbghostcells 
    9391      ENDIF 
    94 #endif 
    9592      kpk = 1 
    9693      ! 
     
    9996      zlx = kpi*rn_dx*1.e-3 
    10097      zly = kpj*rn_dy*1.e-3 
     98      ! 
     99      IF( Agrif_Root() ) THEN   ;   kperio = 7     ! ICE_AGRIF configuration : bi-periodic basin 
     100      ELSE                      ;   kperio = 0     ! closed periodicity for the zoom 
     101      ENDIF 
    101102      !                             ! control print 
    102       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    103       WRITE(ldtxt(ii),*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg'   ;   ii = ii + 1 
    104       WRITE(ldtxt(ii),*) '~~~~~~~~~~~ '                                                                 ;   ii = ii + 1 
    105       WRITE(ldtxt(ii),*) '   Namelist namusr_def : ICE_ADV2D test case'                                 ;   ii = ii + 1 
    106       WRITE(ldtxt(ii),*) '      horizontal resolution                    rn_dx  = ', rn_dx, ' meters'   ;   ii = ii + 1 
    107       WRITE(ldtxt(ii),*) '      horizontal resolution                    rn_dy  = ', rn_dy, ' meters'   ;   ii = ii + 1 
    108       WRITE(ldtxt(ii),*) '      ICE_ADV2D domain = 300 km x 300Km x 1 grid-point '                      ;   ii = ii + 1 
    109       WRITE(ldtxt(ii),*) '         LX [km]: ', zlx                                                      ;   ii = ii + 1 
    110       WRITE(ldtxt(ii),*) '         LY [km]: ', zly                                                      ;   ii = ii + 1 
    111       WRITE(ldtxt(ii),*) '         resulting global domain size :        jpiglo = ', kpi                ;   ii = ii + 1 
    112       WRITE(ldtxt(ii),*) '                                               jpjglo = ', kpj                ;   ii = ii + 1 
    113       WRITE(ldtxt(ii),*) '                                               jpkglo = ', kpk                ;   ii = ii + 1 
    114       WRITE(ldtxt(ii),*) '         Coriolis:', ln_corio                                                 ;   ii = ii + 1 
    115       ! 
    116       !                             ! Set the lateral boundary condition of the global domain 
    117       kperio = 7                    ! ICE_ADV2D configuration : bi-periodic basin 
    118 #if defined key_agrif 
    119       IF( .NOT. Agrif_Root() ) THEN 
    120       kperio = 0 
     103      IF(lwp) THEN 
     104         WRITE(numout,*) '   ' 
     105         WRITE(numout,*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg' 
     106         WRITE(numout,*) '~~~~~~~~~~~ ' 
     107         WRITE(numout,*) '   Namelist namusr_def : ICE_ADV2D test case' 
     108         WRITE(numout,*) '      horizontal resolution                    rn_dx  = ', rn_dx, ' meters' 
     109         WRITE(numout,*) '      horizontal resolution                    rn_dy  = ', rn_dy, ' meters' 
     110         WRITE(numout,*) '      ICE_ADV2D domain = 300 km x 300Km x 1 grid-point ' 
     111         WRITE(numout,*) '         LX [km]: ', zlx 
     112         WRITE(numout,*) '         LY [km]: ', zly 
     113         WRITE(numout,*) '         resulting global domain size :        jpiglo = ', kpi 
     114         WRITE(numout,*) '                                               jpjglo = ', kpj 
     115         WRITE(numout,*) '                                               jpkglo = ', kpk 
     116         WRITE(numout,*) '         Coriolis:', ln_corio 
     117         WRITE(numout,*) '   ' 
     118         WRITE(numout,*) '   Lateral boundary condition of the global domain' 
     119         WRITE(numout,*) '      ICE_ADV2D : bi-periodic basin            jperio = ', kperio 
    121120      ENDIF 
    122 #endif 
    123       ! 
    124       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    125       WRITE(ldtxt(ii),*) '   Lateral boundary condition of the global domain'                           ;   ii = ii + 1 
    126       WRITE(ldtxt(ii),*) '      ICE_ADV2D : bi-periodic basin               jperio = ', kperio          ;   ii = ii + 1 
    127121      ! 
    128122   END SUBROUTINE usr_def_nam 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/ICE_AGRIF/EXPREF/1_namelist_cfg

    r10516 r11822  
    201201!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    202202!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    203 !!   namflo       float parameters                                      ("key_float") 
    204 !!   nam_diaharm  Harmonic analysis of tidal constituents               ("key_diaharm") 
    205 !!   namdct       transports through some sections                      ("key_diadct") 
     203!!   namflo       float parameters                                      (default: OFF) 
     204!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
     205!!   nam_diadct   transports through some sections                      (default: OFF) 
    206206!!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    207207!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/ICE_AGRIF/EXPREF/file_def_nemo-ice.xml

    r10516 r11822  
    2323        <field field_ref="icethic"          name="sithic_max" operation="maximum" /> 
    2424        <field field_ref="icethic"          name="sithic_min" operation="minimum" /> 
    25         <field field_ref="iceneg_pres"      name="sineg_pres" /> 
    26         <field field_ref="iceneg_volu"      name="sineg_volu" /> 
    2725        <field field_ref="fasticepres"      name="fasticepres" /> 
    2826        <field field_ref="icevolu"          name="sivolu" /> 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/ICE_AGRIF/EXPREF/namelist_cfg

    r10516 r11822  
    201201!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    202202!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    203 !!   namflo       float parameters                                      ("key_float") 
    204 !!   nam_diaharm  Harmonic analysis of tidal constituents               ("key_diaharm") 
    205 !!   namdct       transports through some sections                      ("key_diadct") 
     203!!   namflo       float parameters                                      (default: OFF) 
     204!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
     205!!   nam_diadct   transports through some sections                      (default: OFF) 
    206206!!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    207207!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/ICE_AGRIF/MY_SRC/usrdef_nam.F90

    r10516 r11822  
    4040CONTAINS 
    4141 
    42    SUBROUTINE usr_def_nam( ldtxt, ldnam, cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
     42   SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
    4343      !!---------------------------------------------------------------------- 
    4444      !!                     ***  ROUTINE dom_nam  *** 
     
    5252      !! ** input   : - namusr_def namelist found in namelist_cfg 
    5353      !!---------------------------------------------------------------------- 
    54       CHARACTER(len=*), DIMENSION(:), INTENT(out) ::   ldtxt, ldnam    ! stored print information 
    5554      CHARACTER(len=*)              , INTENT(out) ::   cd_cfg          ! configuration name 
    5655      INTEGER                       , INTENT(out) ::   kk_cfg          ! configuration resolution 
     
    5857      INTEGER                       , INTENT(out) ::   kperio          ! lateral global domain b.c.  
    5958      ! 
    60       INTEGER ::   ios, ii   ! Local integer 
     59      INTEGER ::   ios       ! Local integer 
    6160      REAL(wp)::   zlx, zly  ! Local scalars 
    6261      !! 
     
    6463      !!---------------------------------------------------------------------- 
    6564      ! 
    66       ii = 1 
    67       ! 
    6865      REWIND( numnam_cfg )          ! Namelist namusr_def (exist in namelist_cfg only) 
    6966      READ  ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 
    70 902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist', .TRUE. ) 
     67902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 
     68      ! 
     69      IF(lwm)   WRITE( numond, namusr_def ) 
    7170      ! 
    7271#if defined key_agrif  
     
    7978#endif 
    8079      ! 
    81       WRITE( ldnam(:), namusr_def ) 
     80      IF(lwm)   WRITE( numond, namusr_def ) 
    8281      ! 
    8382      cd_cfg = 'ICE_AGRIF'           ! name & resolution (not used) 
    84       kk_cfg = INT( rn_dx ) 
     83      kk_cfg = NINT( rn_dx ) 
    8584      ! 
    86       ! Global Domain size:  ICE_AGRIF domain is  300 km x 300 Km x 10 m 
    87       kpi = INT( 300.e3 / rn_dx ) -1 
    88       kpj = INT( 300.e3 / rn_dy ) -1 
    89 #if defined key_agrif 
    90       IF( .NOT. Agrif_Root() ) THEN 
     85      IF( Agrif_Root() ) THEN        ! Global Domain size:  ICE_AGRIF domain is  300 km x 300 Km x 10 m 
     86         kpi = NINT( 300.e3 / rn_dx ) - 1 
     87         kpj = NINT( 300.e3 / rn_dy ) - 1 
     88      ELSE 
    9189         kpi = nbcellsx + 2 + 2*nbghostcells 
    9290         kpj = nbcellsy + 2 + 2*nbghostcells 
    9391      ENDIF 
    94 #endif 
    9592      kpk = 1 
    9693      ! 
     
    9996      zlx = kpi*rn_dx*1.e-3 
    10097      zly = kpj*rn_dy*1.e-3 
     98      ! 
     99      IF( Agrif_Root() ) THEN   ;   kperio = 7     ! ICE_AGRIF configuration : bi-periodic basin 
     100      ELSE                      ;   kperio = 0     ! closed periodicity for the zoom 
     101      ENDIF 
    101102      !                             ! control print 
    102       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    103       WRITE(ldtxt(ii),*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg'   ;   ii = ii + 1 
    104       WRITE(ldtxt(ii),*) '~~~~~~~~~~~ '                                                                 ;   ii = ii + 1 
    105       WRITE(ldtxt(ii),*) '   Namelist namusr_def : ICE_AGRIF test case'                                 ;   ii = ii + 1 
    106       WRITE(ldtxt(ii),*) '      horizontal resolution                    rn_dx  = ', rn_dx, ' meters'   ;   ii = ii + 1 
    107       WRITE(ldtxt(ii),*) '      horizontal resolution                    rn_dy  = ', rn_dy, ' meters'   ;   ii = ii + 1 
    108       WRITE(ldtxt(ii),*) '      ICE_AGRIF domain = 300 km x 300Km x 1 grid-point '                      ;   ii = ii + 1 
    109       WRITE(ldtxt(ii),*) '         LX [km]: ', zlx                                                      ;   ii = ii + 1 
    110       WRITE(ldtxt(ii),*) '         LY [km]: ', zly                                                      ;   ii = ii + 1 
    111       WRITE(ldtxt(ii),*) '         resulting global domain size :        jpiglo = ', kpi                ;   ii = ii + 1 
    112       WRITE(ldtxt(ii),*) '                                               jpjglo = ', kpj                ;   ii = ii + 1 
    113       WRITE(ldtxt(ii),*) '                                               jpkglo = ', kpk                ;   ii = ii + 1 
    114       WRITE(ldtxt(ii),*) '         Coriolis:', ln_corio                                                 ;   ii = ii + 1 
    115       ! 
    116       !                             ! Set the lateral boundary condition of the global domain 
    117       kperio = 7                    ! ICE_AGRIF configuration : bi-periodic basin 
    118 #if defined key_agrif 
    119       IF( .NOT. Agrif_Root() ) THEN 
    120       kperio = 0 
     103      IF(lwp) THEN 
     104         WRITE(numout,*) '   ' 
     105         WRITE(numout,*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg' 
     106         WRITE(numout,*) '~~~~~~~~~~~ ' 
     107         WRITE(numout,*) '   Namelist namusr_def : ICE_AGRIF test case' 
     108         WRITE(numout,*) '      horizontal resolution                    rn_dx  = ', rn_dx, ' meters' 
     109         WRITE(numout,*) '      horizontal resolution                    rn_dy  = ', rn_dy, ' meters' 
     110         WRITE(numout,*) '      ICE_AGRIF domain = 300 km x 300Km x 1 grid-point ' 
     111         WRITE(numout,*) '         LX [km]: ', zlx 
     112         WRITE(numout,*) '         LY [km]: ', zly 
     113         WRITE(numout,*) '         resulting global domain size :        jpiglo = ', kpi 
     114         WRITE(numout,*) '                                               jpjglo = ', kpj 
     115         WRITE(numout,*) '                                               jpkglo = ', kpk 
     116         WRITE(numout,*) '         Coriolis:', ln_corio 
     117         WRITE(numout,*) '   ' 
     118         WRITE(numout,*) '   Lateral boundary condition of the global domain' 
     119         WRITE(numout,*) '      ICE_AGRIF : bi-periodic basin            jperio = ', kperio 
    121120      ENDIF 
    122 #endif 
    123       ! 
    124       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    125       WRITE(ldtxt(ii),*) '   Lateral boundary condition of the global domain'                           ;   ii = ii + 1 
    126       WRITE(ldtxt(ii),*) '      ICE_AGRIF : bi-periodic basin               jperio = ', kperio          ;   ii = ii + 1 
    127121      ! 
    128122   END SUBROUTINE usr_def_nam 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/ISOMIP/EXPREF/context_nemo.xml

    r9930 r11822  
    66<context id="nemo"> 
    77<!-- $id$ --> 
     8    <variable_definition> 
     9    <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
     10       <variable id="ref_year" type="int"   > 1800 </variable> 
     11       <variable id="rau0"     type="float" > 1026.0 </variable> 
     12       <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
     13       <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
     14       <variable id="rhoic"    type="float" > 917.0 </variable> 
     15       <variable id="rhosn"    type="float" > 330.0 </variable> 
     16       <variable id="missval"  type="float" > 1.e20 </variable> 
     17    </variable_definition> 
    818<!-- Fields definition --> 
    919    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     
    1828     
    1929    <axis_definition> 
    20       <axis id="deptht" long_name="Vertical T levels" unit="m" positive="down" /> 
    21       <axis id="depthu" long_name="Vertical U levels" unit="m" positive="down" /> 
    22       <axis id="depthv" long_name="Vertical V levels" unit="m" positive="down" /> 
    23       <axis id="depthw" long_name="Vertical W levels" unit="m" positive="down" /> 
    24       <axis id="nfloat" long_name="Float number"      unit="-"                 /> 
    25       <axis id="icbcla"  long_name="Iceberg class"      unit="1"               /> 
    26       <axis id="ncatice" long_name="Ice category"       unit="1"               /> 
    27       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"            /> 
    28       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"            /> 
     30      <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
     31      <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
     32      <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
     33      <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
     34      <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
     35      <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
     36      <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
     37      <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
     38      <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    2939    </axis_definition> 
    3040  
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/ISOMIP/EXPREF/namelist_cfg

    r10075 r11822  
    7878!              !           !  (if <0  months)  !   name   !    (logical)   !  (T/F)  ! 'monthly' ! filename ! pairing  ! filename      ! 
    7979! nn_isf == 4 
    80    sn_fwfisf   = 'rnfisf'  ,         -12       ,'sowflisf',     .false.    , .true.  , 'yearly'  ,  ''      ,   ''     , '' 
     80   sn_fwfisf   = 'rnfisf'  ,         -12.      ,'sowflisf',     .false.    , .true.  , 'yearly'  ,  ''      ,   ''     , '' 
    8181! nn_isf == 3 
    82    sn_rnfisf   = 'rnfisf'  ,         -12       ,'sofwfisf',     .false.    , .true.  , 'yearly'  ,  ''      ,   ''     , '' 
     82   sn_rnfisf   = 'rnfisf'  ,         -12.      ,'sofwfisf',     .false.    , .true.  , 'yearly'  ,  ''      ,   ''     , '' 
    8383! nn_isf == 2 and 3 
    84    sn_depmax_isf = 'rnfisf' ,        -12       ,'sozisfmax' ,   .false.    , .true.  , 'yearly'  ,  ''      ,   ''     , '' 
    85    sn_depmin_isf = 'rnfisf' ,        -12       ,'sozisfmin' ,   .false.    , .true.  , 'yearly'  ,  ''      ,   ''     , '' 
     84   sn_depmax_isf = 'rnfisf' ,        -12.      ,'sozisfmax' ,   .false.    , .true.  , 'yearly'  ,  ''      ,   ''     , '' 
     85   sn_depmin_isf = 'rnfisf' ,        -12.      ,'sozisfmin' ,   .false.    , .true.  , 'yearly'  ,  ''      ,   ''     , '' 
    8686! nn_isf == 2 
    87    sn_Leff_isf = 'rnfisf'  ,         -12       ,'Leff'    ,     .false.    , .true.  , 'yearly'  ,  ''      ,   ''     , '' 
     87   sn_Leff_isf = 'rnfisf'  ,         -12.      ,'Leff'    ,     .false.    , .true.  , 'yearly'  ,  ''      ,   ''     , '' 
    8888! for all case 
    8989   nn_isf      = 1         !  ice shelf melting/freezing 
     
    272272!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    273273!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    274 !!   namflo       float parameters                                      ("key_float") 
    275 !!   nam_diaharm  Harmonic analysis of tidal constituents               ("key_diaharm") 
    276 !!   namdct       transports through some sections                      ("key_diadct") 
     274!!   namflo       float parameters                                      (default: OFF) 
     275!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
     276!!   nam_diadct   transports through some sections                      (default: OFF) 
    277277!!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    278278!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/ISOMIP/MY_SRC/usrdef_nam.F90

    r10074 r11822  
    4242CONTAINS 
    4343 
    44    SUBROUTINE usr_def_nam( ldtxt, ldnam, cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
     44   SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
    4545      !!---------------------------------------------------------------------- 
    4646      !!                     ***  ROUTINE dom_nam  *** 
     
    5454      !! ** input   : - namusr_def namelist found in namelist_cfg 
    5555      !!---------------------------------------------------------------------- 
    56       CHARACTER(len=*), DIMENSION(:), INTENT(out) ::   ldtxt, ldnam    ! stored print information 
    5756      CHARACTER(len=*)              , INTENT(out) ::   cd_cfg          ! configuration name 
    5857      INTEGER                       , INTENT(out) ::   kk_cfg          ! configuration resolution 
     
    6059      INTEGER                       , INTENT(out) ::   kperio          ! lateral global domain b.c.  
    6160      ! 
    62       INTEGER ::   ios, ii   ! Local integer 
     61      INTEGER ::   ios   ! Local integer 
    6362      !! 
    6463      NAMELIST/namusr_def/ ln_zco, ln_zps, ln_sco, rn_e1deg, rn_e2deg, rn_e3 
    6564      !!---------------------------------------------------------------------- 
    6665      ! 
    67       ii = 1 
    68       ! 
    6966      REWIND( numnam_cfg )          ! Namelist namusr_def (exist in namelist_cfg only) 
    7067      READ  ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 
    71 902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist', .TRUE. ) 
     68902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 
    7269      ! 
    73       WRITE( ldnam(:), namusr_def ) 
     70      IF(lwm)   WRITE( numond, namusr_def ) 
    7471      ! 
    7572      cd_cfg = 'ISOMIP'           ! name & resolution (not used) 
     
    8178      kpk = INT( rbathy / rn_e3    ) + 1     ! add 1 for t-point in the seafloor 
    8279      ! 
    83       !                             ! control print 
    84       WRITE(ldtxt(ii),*) '   '                                                                              ;   ii = ii + 1 
    85       WRITE(ldtxt(ii),*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg'       ;   ii = ii + 1 
    86       WRITE(ldtxt(ii),*) '~~~~~~~~~~~ '                                                                     ;   ii = ii + 1 
    87       WRITE(ldtxt(ii),*) '   Namelist namusr_def : ISOMIP test case'                                        ;   ii = ii + 1 
    88       WRITE(ldtxt(ii),*) '      type of vertical coordinate : '                                             ;   ii = ii + 1 
    89       WRITE(ldtxt(ii),*) '         z-coordinate flag                     ln_zco   = ', ln_zco               ;   ii = ii + 1 
    90       WRITE(ldtxt(ii),*) '         z-partial-step coordinate flag        ln_zps   = ', ln_zps               ;   ii = ii + 1 
    91       WRITE(ldtxt(ii),*) '         s-coordinate flag                     ln_sco   = ', ln_sco               ;   ii = ii + 1 
    92       WRITE(ldtxt(ii),*) '      resolution'                                                                 ;   ii = ii + 1 
    93       WRITE(ldtxt(ii),*) '         zonal      resolution                 rn_e1deg = ', rn_e1deg, ' degrees' ;   ii = ii + 1 
    94       WRITE(ldtxt(ii),*) '         meridional resolution                 rn_e1deg = ', rn_e1deg, ' degrees' ;   ii = ii + 1 
    95       WRITE(ldtxt(ii),*) '         vertical   resolution                 rn_e3    = ', rn_e3   , ' meters'  ;   ii = ii + 1 
    96       WRITE(ldtxt(ii),*) '      ISOMIP domain = 15° x 10° x 900 m'                                          ;   ii = ii + 1 
    97       WRITE(ldtxt(ii),*) '         resulting global domain size :        jpiglo   = ', kpi                  ;   ii = ii + 1 
    98       WRITE(ldtxt(ii),*) '                                               jpjglo   = ', kpj                  ;   ii = ii + 1 
    99       WRITE(ldtxt(ii),*) '                                               jpkglo   = ', kpk                  ;   ii = ii + 1 
    100       ! 
    101       ! 
    10280      !                             ! Set the lateral boundary condition of the global domain 
    10381      kperio = 0                    ! ISOMIP configuration : close basin 
    10482      ! 
    105       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    106       WRITE(ldtxt(ii),*) '   Lateral boundary condition of the global domain'                           ;   ii = ii + 1 
    107       WRITE(ldtxt(ii),*) '      ISOMIP : closed basin                    jperio   = ', kperio             ;   ii = ii + 1 
     83      !                             ! control print 
     84      IF(lwp) THEN 
     85         WRITE(numout,*) '   ' 
     86         WRITE(numout,*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg' 
     87         WRITE(numout,*) '~~~~~~~~~~~ ' 
     88         WRITE(numout,*) '   Namelist namusr_def : ISOMIP test case' 
     89         WRITE(numout,*) '      type of vertical coordinate : ' 
     90         WRITE(numout,*) '         z-coordinate flag                     ln_zco   = ', ln_zco 
     91         WRITE(numout,*) '         z-partial-step coordinate flag        ln_zps   = ', ln_zps 
     92         WRITE(numout,*) '         s-coordinate flag                     ln_sco   = ', ln_sco 
     93         WRITE(numout,*) '      resolution' 
     94         WRITE(numout,*) '         zonal      resolution                 rn_e1deg = ', rn_e1deg, ' degrees' 
     95         WRITE(numout,*) '         meridional resolution                 rn_e1deg = ', rn_e1deg, ' degrees' 
     96         WRITE(numout,*) '         vertical   resolution                 rn_e3    = ', rn_e3   , ' meters' 
     97         WRITE(numout,*) '      ISOMIP domain = 15° x 10° x 900 m' 
     98         WRITE(numout,*) '         resulting global domain size :        jpiglo   = ', kpi 
     99         WRITE(numout,*) '                                               jpjglo   = ', kpj 
     100         WRITE(numout,*) '                                               jpkglo   = ', kpk 
     101         WRITE(numout,*) '   ' 
     102         WRITE(numout,*) '   Lateral boundary condition of the global domain' 
     103         WRITE(numout,*) '      ISOMIP : closed basin                    jperio   = ', kperio 
     104      ENDIF 
    108105      ! 
    109106   END SUBROUTINE usr_def_nam 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/LOCK_EXCHANGE/EXPREF/context_nemo.xml

    r9930 r11822  
    66<context id="nemo"> 
    77<!-- $id$ --> 
     8    <variable_definition> 
     9    <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
     10       <variable id="ref_year" type="int"   > 1800 </variable> 
     11       <variable id="rau0"     type="float" > 1026.0 </variable> 
     12       <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
     13       <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
     14       <variable id="rhoic"    type="float" > 917.0 </variable> 
     15       <variable id="rhosn"    type="float" > 330.0 </variable> 
     16       <variable id="missval"  type="float" > 1.e20 </variable> 
     17    </variable_definition> 
    818<!-- Fields definition --> 
    919    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     
    1828     
    1929    <axis_definition> 
    20       <axis id="deptht" long_name="Vertical T levels" unit="m" positive="down" /> 
    21       <axis id="depthu" long_name="Vertical U levels" unit="m" positive="down" /> 
    22       <axis id="depthv" long_name="Vertical V levels" unit="m" positive="down" /> 
    23       <axis id="depthw" long_name="Vertical W levels" unit="m" positive="down" /> 
    24       <axis id="nfloat" long_name="Float number"      unit="-"                 /> 
    25       <axis id="icbcla"  long_name="Iceberg class"      unit="1"               /> 
    26       <axis id="ncatice" long_name="Ice category"       unit="1"               /> 
    27       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"            /> 
    28       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"            /> 
     30      <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
     31      <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
     32      <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
     33      <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
     34      <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
     35      <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
     36      <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
     37      <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
     38      <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    2939    </axis_definition> 
    3040  
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_flux_ubs_cfg

    r10075 r11822  
    277277!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    278278!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    279 !!   namflo       float parameters                                      ("key_float") 
    280 !!   nam_diaharm  Harmonic analysis of tidal constituents               ("key_diaharm") 
    281 !!   namdct       transports through some sections                      ("key_diadct") 
     279!!   namflo       float parameters                                      (default: OFF) 
     280!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
     281!!   nam_diadct   transports through some sections                      (default: OFF) 
    282282!!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    283283!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/LOCK_EXCHANGE/MY_SRC/usrdef_nam.F90

    r10074 r11822  
    3838CONTAINS 
    3939 
    40    SUBROUTINE usr_def_nam( ldtxt, ldnam, cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
     40   SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
    4141      !!---------------------------------------------------------------------- 
    4242      !!                     ***  ROUTINE dom_nam  *** 
     
    5050      !! ** input   : - namusr_def namelist found in namelist_cfg 
    5151      !!---------------------------------------------------------------------- 
    52       CHARACTER(len=*), DIMENSION(:), INTENT(out) ::   ldtxt, ldnam    ! stored print information 
    5352      CHARACTER(len=*)              , INTENT(out) ::   cd_cfg          ! configuration name 
    5453      INTEGER                       , INTENT(out) ::   kk_cfg          ! configuration resolution 
     
    5655      INTEGER                       , INTENT(out) ::   kperio          ! lateral global domain b.c.  
    5756      ! 
    58       INTEGER ::   ios, ii   ! Local integer 
     57      INTEGER ::   ios   ! Local integer 
    5958      !! 
    6059      NAMELIST/namusr_def/ rn_dx, rn_dz 
    6160      !!---------------------------------------------------------------------- 
    6261      ! 
    63       ii = 1 
    64       ! 
    6562      REWIND( numnam_cfg )          ! Namelist namusr_def (exist in namelist_cfg only) 
    6663      READ  ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 
    67 902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist', .TRUE. ) 
     64902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 
    6865      ! 
    69       WRITE( ldnam(:), namusr_def ) 
     66      IF(lwm)   WRITE( numond, namusr_def ) 
    7067      ! 
    7168      ! 
     
    7774      kpj = 3 
    7875      kpk = INT(  20.  / rn_dz ) + 1 
    79       ! 
    80       !                             ! control print 
    81       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    82       WRITE(ldtxt(ii),*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg'   ;   ii = ii + 1 
    83       WRITE(ldtxt(ii),*) '~~~~~~~~~~~ '                                                                 ;   ii = ii + 1 
    84       WRITE(ldtxt(ii),*) '   Namelist namusr_def : LOCK_EXCHANGE test case'                             ;   ii = ii + 1 
    85       WRITE(ldtxt(ii),*) '      horizontal resolution                    rn_dx  = ', rn_dx, ' meters'   ;   ii = ii + 1 
    86       WRITE(ldtxt(ii),*) '      vertical   resolution                    rn_dz  = ', rn_dz, ' meters'   ;   ii = ii + 1 
    87       WRITE(ldtxt(ii),*) '      LOCK_EXCHANGE domain = 64 km  x  3 grid-points  x  20 m'                ;   ii = ii + 1 
    88       WRITE(ldtxt(ii),*) '         resulting global domain size :        jpiglo = ', kpi                ;   ii = ii + 1 
    89       WRITE(ldtxt(ii),*) '                                               jpjglo = ', kpj                ;   ii = ii + 1 
    90       WRITE(ldtxt(ii),*) '                                               jpkglo = ', kpk                ;   ii = ii + 1 
    91       ! 
    9276      !                             ! Set the lateral boundary condition of the global domain 
    9377      kperio = 0                    ! LOCK_EXCHANGE configuration : closed domain 
    9478      ! 
    95       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    96       WRITE(ldtxt(ii),*) '   Lateral boundary condition of the global domain'                           ;   ii = ii + 1 
    97       WRITE(ldtxt(ii),*) '      closed                                   jperio = ', kperio             ;   ii = ii + 1 
     79      !                             ! control print 
     80      IF(lwp) THEN 
     81         WRITE(numout,*) '   ' 
     82         WRITE(numout,*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg' 
     83         WRITE(numout,*) '~~~~~~~~~~~ ' 
     84         WRITE(numout,*) '   Namelist namusr_def : LOCK_EXCHANGE test case' 
     85         WRITE(numout,*) '      horizontal resolution                    rn_dx  = ', rn_dx, ' meters' 
     86         WRITE(numout,*) '      vertical   resolution                    rn_dz  = ', rn_dz, ' meters' 
     87         WRITE(numout,*) '      LOCK_EXCHANGE domain = 64 km  x  3 grid-points  x  20 m' 
     88         WRITE(numout,*) '         resulting global domain size :        jpiglo = ', kpi 
     89         WRITE(numout,*) '                                               jpjglo = ', kpj 
     90         WRITE(numout,*) '                                               jpkglo = ', kpk 
     91         WRITE(numout,*) '   ' 
     92         WRITE(numout,*) '   Lateral boundary condition of the global domain' 
     93         WRITE(numout,*) '      closed                                   jperio = ', kperio 
     94      ENDIF 
    9895      ! 
    9996   END SUBROUTINE usr_def_nam 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/OVERFLOW/EXPREF/context_nemo.xml

    r9930 r11822  
    66<context id="nemo"> 
    77<!-- $id$ --> 
     8    <variable_definition> 
     9    <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
     10       <variable id="ref_year" type="int"   > 1800 </variable> 
     11       <variable id="rau0"     type="float" > 1026.0 </variable> 
     12       <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
     13       <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
     14       <variable id="rhoic"    type="float" > 917.0 </variable> 
     15       <variable id="rhosn"    type="float" > 330.0 </variable> 
     16       <variable id="missval"  type="float" > 1.e20 </variable> 
     17    </variable_definition> 
    818<!-- Fields definition --> 
    919    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     
    1828     
    1929    <axis_definition> 
    20       <axis id="deptht" long_name="Vertical T levels" unit="m" positive="down" /> 
    21       <axis id="depthu" long_name="Vertical U levels" unit="m" positive="down" /> 
    22       <axis id="depthv" long_name="Vertical V levels" unit="m" positive="down" /> 
    23       <axis id="depthw" long_name="Vertical W levels" unit="m" positive="down" /> 
    24       <axis id="nfloat" long_name="Float number"      unit="-"                 /> 
    25       <axis id="icbcla"  long_name="Iceberg class"      unit="1"               /> 
    26       <axis id="ncatice" long_name="Ice category"       unit="1"               /> 
    27       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"            /> 
    28       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"            /> 
     30      <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
     31      <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
     32      <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
     33      <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
     34      <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
     35      <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
     36      <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
     37      <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
     38      <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    2939    </axis_definition> 
    3040  
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/OVERFLOW/EXPREF/namelist_zps_FCT4_flux_ubs_cfg

    r10075 r11822  
    291291!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    292292!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    293 !!   namflo       float parameters                                      ("key_float") 
    294 !!   nam_diaharm  Harmonic analysis of tidal constituents               ("key_diaharm") 
    295 !!   namdct       transports through some sections                      ("key_diadct") 
     293!!   namflo       float parameters                                      (default: OFF) 
     294!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
     295!!   nam_diadct   transports through some sections                      (default: OFF) 
    296296!!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    297297!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/OVERFLOW/MY_SRC/usrdef_nam.F90

    r10074 r11822  
    3939CONTAINS 
    4040 
    41    SUBROUTINE usr_def_nam( ldtxt, ldnam, cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
     41   SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
    4242      !!---------------------------------------------------------------------- 
    4343      !!                     ***  ROUTINE dom_nam  *** 
     
    5151      !! ** input   : - namusr_def namelist found in namelist_cfg 
    5252      !!---------------------------------------------------------------------- 
    53       CHARACTER(len=*), DIMENSION(:), INTENT(out) ::   ldtxt, ldnam    ! stored print information 
    5453      CHARACTER(len=*)              , INTENT(out) ::   cd_cfg          ! configuration name 
    5554      INTEGER                       , INTENT(out) ::   kk_cfg          ! configuration resolution 
     
    5756      INTEGER                       , INTENT(out) ::   kperio          ! lateral global domain b.c.  
    5857      ! 
    59       INTEGER ::   ios, ii   ! Local integer 
     58      INTEGER ::   ios   ! Local integer 
    6059      !! 
    6160      NAMELIST/namusr_def/ ln_zco, ln_zps, ln_sco, rn_dx, rn_dz 
    6261      !!---------------------------------------------------------------------- 
    6362      ! 
    64       ii = 1 
    65       ! 
    6663      REWIND( numnam_cfg )          ! Namelist namusr_def (exist in namelist_cfg only) 
    6764      READ  ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 
    68 902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist', .TRUE. ) 
     65902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 
    6966      ! 
    70       WRITE( ldnam(:), namusr_def ) 
     67      IF(lwm)   WRITE( numond, namusr_def ) 
    7168      ! 
    7269      cd_cfg = 'OVERFLOW'           ! name & resolution (not used) 
     
    7976      ! 
    8077      !                             ! control print 
    81       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    82       WRITE(ldtxt(ii),*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg'   ;   ii = ii + 1 
    83       WRITE(ldtxt(ii),*) '~~~~~~~~~~~ '                                                                 ;   ii = ii + 1 
    84       WRITE(ldtxt(ii),*) '   Namelist namusr_def : OVERFLOW test case'                                  ;   ii = ii + 1 
    85       WRITE(ldtxt(ii),*) '      type of vertical coordinate : '                                         ;   ii = ii + 1 
    86       WRITE(ldtxt(ii),*) '         z-coordinate flag                     ln_zco = ', ln_zco             ;   ii = ii + 1 
    87       WRITE(ldtxt(ii),*) '         z-partial-step coordinate flag        ln_zps = ', ln_zps             ;   ii = ii + 1 
    88       WRITE(ldtxt(ii),*) '         s-coordinate flag                     ln_sco = ', ln_sco             ;   ii = ii + 1 
    89       WRITE(ldtxt(ii),*) '      horizontal resolution                    rn_dx  = ', rn_dx, ' meters'   ;   ii = ii + 1 
    90       WRITE(ldtxt(ii),*) '      vertical   resolution                    rn_dz  = ', rn_dz, ' meters'   ;   ii = ii + 1 
    91       WRITE(ldtxt(ii),*) '      OVERFLOW domain = 200 km x 3 grid-points x 2000 m'                      ;   ii = ii + 1 
    92       WRITE(ldtxt(ii),*) '         resulting global domain size :        jpiglo = ', kpi                ;   ii = ii + 1 
    93       WRITE(ldtxt(ii),*) '                                               jpjglo = ', kpj                ;   ii = ii + 1 
    94       WRITE(ldtxt(ii),*) '                                               jpkglo = ', kpk                ;   ii = ii + 1 
     78      WRITE(numout,*) '   ' 
     79      WRITE(numout,*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg' 
     80      WRITE(numout,*) '~~~~~~~~~~~ ' 
     81      WRITE(numout,*) '   Namelist namusr_def : OVERFLOW test case' 
     82      WRITE(numout,*) '      type of vertical coordinate : ' 
     83      WRITE(numout,*) '         z-coordinate flag                     ln_zco = ', ln_zco 
     84      WRITE(numout,*) '         z-partial-step coordinate flag        ln_zps = ', ln_zps 
     85      WRITE(numout,*) '         s-coordinate flag                     ln_sco = ', ln_sco 
     86      WRITE(numout,*) '      horizontal resolution                    rn_dx  = ', rn_dx, ' meters' 
     87      WRITE(numout,*) '      vertical   resolution                    rn_dz  = ', rn_dz, ' meters' 
     88      WRITE(numout,*) '      OVERFLOW domain = 200 km x 3 grid-points x 2000 m' 
     89      WRITE(numout,*) '         resulting global domain size :        jpiglo = ', kpi 
     90      WRITE(numout,*) '                                               jpjglo = ', kpj 
     91      WRITE(numout,*) '                                               jpkglo = ', kpk 
    9592      ! 
    9693      !                             ! Set the lateral boundary condition of the global domain 
    9794      kperio = 0                    ! OVERFLOW configuration : close basin 
    9895      ! 
    99       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    100       WRITE(ldtxt(ii),*) '   Lateral boundary condition of the global domain'                           ;   ii = ii + 1 
    101       WRITE(ldtxt(ii),*) '      OVERFLOW : closed basin                  jperio = ', kperio             ;   ii = ii + 1 
     96      WRITE(numout,*) '   ' 
     97      WRITE(numout,*) '   Lateral boundary condition of the global domain' 
     98      WRITE(numout,*) '      OVERFLOW : closed basin                  jperio = ', kperio 
    10299      ! 
    103100   END SUBROUTINE usr_def_nam 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/OVERFLOW/MY_SRC/usrdef_zgr.F90

    r10425 r11822  
    9696      !                                ! ==>>>  set by hand non-zero value on first/last columns & rows  
    9797      DO ji = mi0(1), mi1(1)              ! first row of global domain only 
    98          zhu(ji,2) = zht(1,2) 
    99       END DO 
    100        DO ji = mi0(jpi), mi1(jpi)         ! last  row of global domain only 
    101          zhu(ji,2) = zht(jpi,2) 
     98         zhu(ji,2) = zht(ji,2) 
     99      END DO 
     100       DO ji = mi0(jpiglo), mi1(jpiglo)   ! last  row of global domain only 
     101         zhu(ji,2) = zht(ji,2) 
    102102      END DO 
    103103      zhu(:,1) = zhu(:,2) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/README.rst

    r10605 r11822  
    33********************** 
    44 
    5 The complete and up-to-date set of test cases is available on 
    6 `NEMO test cases Github repository <http://github.com/NEMO-ocean/NEMO-examples>`_. 
    7  
    8 Download it directly in the ``./tests`` root directory with 
     5.. todo:: 
     6 
     7 
     8 
     9.. contents:: 
     10   :local: 
     11   :depth: 1 
     12 
     13Installation 
     14============ 
     15 
     16Download 
     17-------- 
     18 
     19| The complete and up-to-date set of test cases is available on 
     20  :github:`NEMO test cases repository <NEMO-examples>`. 
     21| Download it directly into the :file:`./tests` root directory with 
    922 
    1023.. code-block:: console 
     
    1225   $ git clone http://github.com/NEMO-ocean/NEMO-examples 
    1326 
    14 .. contents:: 
    15    :local: 
    16  
    17 Procedure 
    18 ========= 
    19  
    20 Compile test cases 
    21 ------------------ 
    22  
    23 The compilation of the test cases is very similar to the manner the reference configurations are compiled. 
    24 If you are not familiar on how to compile NEMO, it is first recomended to read :doc:`the instructions <install>` 
    25  
    26 | In the same manner as the ref. cfg are compiled with '-r' option, test cases can be compile by the use of makenemo with '-a' option. 
    27 | Here an example to compile a copy named WAD2 of the wetting and drying test case (WAD) on the macport_osx architecture on 4 cores: 
     27Compilation 
     28----------- 
     29 
     30The compilation of the test cases is very similar to 
     31the manner the reference configurations are compiled. 
     32If you are not familiar on how to compile NEMO, 
     33it is first recomended to read :doc:`the instructions <install>`. 
     34 
     35| As the reference configurations are compiled with ``-r`` option, 
     36  test cases can be compiled by the use of :file:`makenemo` with ``-a`` option. 
     37| Here an example to compile a copy named WAD2 of the wetting and drying test case (WAD): 
    2838 
    2939.. code-block:: console 
    3040 
    31    $ ./makenemo -n 'WAD2' -a 'WAD' -m 'macport_osx' -j '4' 
    32  
    33 Run and analyse the test cases 
    34 ------------------------------ 
    35  
    36 There no requirement of specific input file for the test_cases presented here. The XIOS xml input files and namelist are already setup correctly.  
     41   $ ./makenemo -n 'WAD2' -a 'WAD' -m 'my_arch' -j '4' 
     42 
     43Run and analysis 
     44---------------- 
     45 
     46There no requirement of specific input file for the test_cases presented here. 
     47The XIOS xml input files and namelist are already setup correctly. 
    3748For detailed description and Jupyter notebook, the reader is directed on 
    38 the `NEMO test cases repository <http://github.com/NEMO-ocean/NEMO-examples>`_ 
     49the :github:`NEMO test cases repository <NEMO-examples>` 
    3950 
    4051The description below is a brief advertisement of some test cases. 
    4152 
     53List of test cases 
     54================== 
     55 
    4256ICE_AGRIF 
    43 ========= 
    44    
    45   This test case illustrates the advection of an ice patch across an East/West and North/South periodic channel 
    46   over a slab ocean (i.e. one ocean layer), and with an AGRIF zoom (1:3) in the center 
    47   The purpose of this configuration is to test the advection of the ice patch in   
    48   and across the AGRIF boundary 
    49   One can either impose ice velocities or ice-atm. stresses and let rheology define velocities 
    50   (see README for details) 
    51  
    52   .. image:: _static/ICE_AGRIF_UDIAG_43days_UM5.gif 
     57--------- 
     58 
     59.. figure:: _static/ICE_AGRIF_UDIAG_43days_UM5.gif 
     60   :width: 200px 
     61   :align: left 
     62 
     63   .. 
     64 
     65| This test case illustrates the advection of an ice patch across 
     66  an East/West and North/South periodic channel over a slab ocean (i.e. one ocean layer), 
     67  and with an AGRIF zoom (1:3) in the center. 
     68| The purpose of this configuration is to 
     69  test the advection of the ice patch in and across the AGRIF boundary. 
     70  One can either impose ice velocities or ice-atm. 
     71  Stresses and let rheology define velocities (see :file:`README` for details) 
    5372 
    5473VORTEX 
    55 ====== 
    56    
    57   This test case illustrates the propagation of an anticyclonic eddy over a Beta plan and a flat bottom. 
    58   It is implemented here with an online refined subdomain (1:3) out of which the vortex propagates. 
    59   It serves as a benchmark for quantitative estimates of nesting errors as in Debreu et al. (2012) :cite:`DEBREU2012`, 
    60   Penven et al. (2006) :cite:`PENVEN2006` or Spall and Holland (1991) :cite:`SPALL1991`. 
    61    
    62   The animation below (sea level anomaly in meters) illustrates with two 1:2 successively nested grids how 
    63   the vortex smoothly propagates out of the refined grids. 
    64    
    65   .. image:: _static/VORTEX_anim.gif 
     74------ 
     75 
     76.. figure:: _static/VORTEX_anim.gif 
     77   :width: 200px 
     78   :align: right 
     79 
     80   .. 
     81 
     82This test case illustrates the propagation of an anticyclonic eddy over a Beta plan and a flat bottom. 
     83It is implemented here with an online refined subdomain (1:3) out of which the vortex propagates. 
     84It serves as a benchmark for quantitative estimates of nesting errors as in :cite:`DEBREU2012`, 
     85:cite:`PENVEN2006` or :cite:`SPALL1991`. 
     86 
     87The animation (sea level anomaly in meters) illustrates with 
     88two 1:2 successively nested grids how the vortex smoothly propagates out of the refined grids. 
    6689 
    6790ISOMIP 
    68 ====== 
    69  
    70   The purpose of this test case is to evaluate the impact of various schemes and new development with the iceshelf cavities circulation and melt. 
    71   This configuration served as initial assesment of the ice shelf module in Losh et al. (2008) :cite:`LOSCH2008` and Mathiot et al. (2017) :cite:`MATHIOT2017`.  
    72   The default setup is the one described `here <http://staff.acecrc.org.au/~bkgalton/ISOMIP/test_cavities.pdf>`_. 
    73    
    74   The figure below (meridional overturning circulation) illustrates the circulation generated after 10000 days by the ice shelf melting (ice pump). 
    75  
    76   .. image:: _static/ISOMIP_moc.png 
     91------ 
     92 
     93.. figure:: _static/ISOMIP_moc.png 
     94   :width: 200px 
     95   :align: left 
     96 
     97   .. 
     98 
     99| The purpose of this test case is to evaluate the impact of various schemes and new development with 
     100  the iceshelf cavities circulation and melt. 
     101  This configuration served as initial assesment of the ice shelf module in :cite:`LOSCH2008` and 
     102  :cite:`MATHIOT2017`. 
     103  The default setup is the one described |ISOMIP|_. 
     104| The figure (meridional overturning circulation) illustrates 
     105  the circulation generated after 10000 days by the ice shelf melting (ice pump). 
     106 
     107.. |ISOMIP| replace:: here 
    77108 
    78109LOCK_EXCHANGE 
    79 ============= 
    80  
    81   The LOCK EXCHANGE experiment is a classical fluid dynamics experiment that has been adapted 
    82   by Haidvogel and Beckmann (1999) :cite:`HAIDVOGEL1999` for testing advection schemes in ocean circulation models. 
    83   It has been used by several authors including Burchard and Bolding (2002) :cite:`BURCHARD2002` and Ilicak et al. (2012) :cite:`ILICAK2012`. 
    84   The LOCK EXCHANGE experiment can in particular illustrate the impact of different choices of numerical schemes  
    85   and/or subgrid closures on spurious interior mixing. 
    86  
    87   Below the animation of the LOCK_EXCHANGE test case using the advection scheme FCT4 (forth order) for tracer and ubs for dynamics. 
    88  
    89   .. image:: _static/LOCK-FCT4_flux_ubs.gif 
     110------------- 
     111 
     112.. figure:: _static/LOCK-FCT4_flux_ubs.gif 
     113   :width: 200px 
     114   :align: right 
     115 
     116   .. 
     117 
     118| The LOCK EXCHANGE experiment is a classical fluid dynamics experiment that has been adapted 
     119  by :cite:`HAIDVOGEL1999` for testing advection schemes in ocean circulation models. 
     120  It has been used by several authors including :cite:`BURCHARD2002` and :cite:`ILICAK2012`. 
     121  The LOCK EXCHANGE experiment can in particular illustrate 
     122  the impact of different choices of numerical schemes and/or subgrid closures on 
     123  spurious interior mixing. 
     124| Here the animation of the LOCK_EXCHANGE test case using 
     125  the advection scheme FCT4 (forth order) for tracer and ubs for dynamics. 
    90126 
    91127OVERFLOW 
    92 ======== 
    93  
    94   The OVERFLOW experiment illustrates the impact of different choices of numerical schemes  
    95   and/or subgrid closures on spurious interior mixing close to bottom topography.  
    96   The OVERFLOW experiment is adapted from the non-rotating overflow configuration described  
    97   in Haidvogel and Beckmann (1999) :cite:`HAIDVOGEL1999` and further used by Ilicak et al. (2012) :cite:`ILICAK2012`. 
    98   Here we can assess the behaviour of the second-order tracer advection scheme FCT2 and fortht-order FCT4, z-coordinate and sigma coordinate (...). 
    99  
    100   Below the animation of the OVERFLOW test case in sigma coordinate with the forth-order advection scheme FCT4. 
    101  
    102   .. image:: _static/OVF-sco_FCT4_flux_cen-ahm1000.gif 
     128-------- 
     129 
     130.. figure:: _static/OVF-sco_FCT4_flux_cen-ahm1000.gif 
     131   :width: 200px 
     132   :align: left 
     133 
     134   .. 
     135 
     136| The OVERFLOW experiment illustrates the impact of different choices of numerical schemes and/or 
     137  subgrid closures on spurious interior mixing close to bottom topography. 
     138  The OVERFLOW experiment is adapted from the non-rotating overflow configuration described in 
     139  :cite:`HAIDVOGEL1999` and further used by :cite:`ILICAK2012`. 
     140  Here we can assess the behaviour of the second-order tracer advection scheme FCT2 and 
     141  forth-order FCT4, z-coordinate and sigma coordinate (...). 
     142| Here the animation of the OVERFLOW test case in sigma coordinate with 
     143  the forth-order advection scheme FCT4. 
    103144 
    104145WAD 
    105 === 
    106  
    107   A set of simple closed basin geometries for testing the Wetting and drying capabilities.  
    108   Examples range from a closed channel with EW linear bottom slope to a parabolic EW channel with a Gaussian ridge. 
    109    
    110   Below the animation of the test case 7. This test case is a simple linear slope with a mid-depth shelf with an open boundary forced with a sinusoidally varying ssh. 
    111   This test case has been introduced to emulate a typical coastal application with a tidally forced open boundary with an adverse SSH gradient that, when released, creates a surge up the slope. 
    112   The parameters are chosen such that the surge rises above sea-level before falling back and oscillating towards an equilibrium position 
    113  
    114   .. image:: _static/wad_testcase_7.gif 
     146--- 
     147 
     148.. figure:: _static/wad_testcase_7.gif 
     149   :width: 200px 
     150   :align: right 
     151 
     152   .. 
     153 
     154| A set of simple closed basin geometries for testing the Wetting and drying capabilities. 
     155  Examples range from a closed channel with EW linear bottom slope to 
     156  a parabolic EW channel with a Gaussian ridge. 
     157| Here the animation of the test case 7. 
     158  This test case is a simple linear slope with a mid-depth shelf with 
     159  an open boundary forced with a sinusoidally varying ssh. 
     160  This test case has been introduced to emulate a typical coastal application with 
     161  a tidally forced open boundary with an adverse SSH gradient that, 
     162  when released, creates a surge up the slope. 
     163  The parameters are chosen such that 
     164  the surge rises above sea-level before falling back and oscillating towards an equilibrium position. 
    115165 
    116166CANAL 
    117 ===== 
    118  
    119   East-west periodic canal of variable size with several initial states and associated geostrophic currents (zonal jets or vortex). 
    120  
    121   .. image::_static/CANAL_image.gif 
     167----- 
     168 
     169.. figure:: _static/CANAL_image.gif 
     170   :width: 200px 
     171   :align: left 
     172 
     173   .. 
     174 
     175East-west periodic canal of variable size with several initial states and 
     176associated geostrophic currents (zonal jets or vortex). 
    122177 
    123178ICE_ADV2D 
    124 ========= 
    125    
    126   This test case illustrates the advection of an ice patch across an East/West and North/South periodic channel 
    127   over a slab ocean (i.e. one ocean layer). 
     179--------- 
     180 
     181| This test case illustrates the advection of an ice patch across 
     182  an East/West and North/South periodic channel over a slab ocean (i.e. one ocean layer). 
    128183  The configuration is similar to ICE_AGRIF, except for the AGRIF zoom. 
    129   The purpose of this configuration is to test the advection schemes available in the sea-ice code 
     184| The purpose of this configuration is to test the advection schemes available in the sea-ice code 
    130185  (for now, Prather and Ultimate-Macho from 1st to 5th order), 
    131186  especially the occurence of overshoots in ice thickness 
    132    
    133187 
    134188ICE_ADV1D 
    135 ========= 
    136    
    137   This experiment is the classical Schar & Smolarkiewicz (1996) test case :cite:`SCHAR1996`, 
    138   which has been used in :cite:`LIPSCOMB2004`, 
    139   and in which very specific shapes of ice concentration, thickness and volume converge toward the center of a basin. 
     189--------- 
     190 
     191| This experiment is the classical :cite:`SCHAR1996` test case , 
     192  which has been used in :cite:`LIPSCOMB2004`, and in which very specific shapes of ice concentration, 
     193  thickness and volume converge toward the center of a basin. 
    140194  Convergence is unidirectional (in x) while fields are homogeneous in y. 
    141   The purpose of this configuration is to test the caracteristics of advection schemes available in the sea-ice code 
     195| The purpose of this configuration is to 
     196  test the caracteristics of advection schemes available in the sea-ice code 
    142197  (for now, Prather and Ultimate-Macho from 1st to 5th order), 
    143   especially the constitency between concentration, thickness and volume, and the preservation of initial shapes.   
    144  
    145 References 
    146 ========== 
    147  
    148 .. bibliography:: test_cases.bib 
    149    :all: 
    150    :style: unsrt 
    151    :labelprefix: T 
     198  especially the constitency between concentration, thickness and volume, 
     199  and the preservation of initial shapes. 
     200 
     201.. rubric:: References 
     202 
     203.. bibliography:: tests.bib 
     204   :all: 
     205   :style: unsrt 
     206   :labelprefix: T 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/VORTEX/EXPREF/1_namelist_cfg

    r10075 r11822  
    272272!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    273273!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    274 !!   namflo       float parameters                                      ("key_float") 
    275 !!   nam_diaharm  Harmonic analysis of tidal constituents               ("key_diaharm") 
    276 !!   namdct       transports through some sections                      ("key_diadct") 
     274!!   namflo       float parameters                                      (default: OFF) 
     275!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
     276!!   nam_diadct   transports through some sections                      (default: OFF) 
    277277!!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    278278!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/VORTEX/EXPREF/context_nemo.xml

    r9930 r11822  
    66<context id="nemo"> 
    77<!-- $id$ --> 
     8    <variable_definition> 
     9    <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
     10       <variable id="ref_year" type="int"   > 1800 </variable> 
     11       <variable id="rau0"     type="float" > 1026.0 </variable> 
     12       <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
     13       <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
     14       <variable id="rhoic"    type="float" > 917.0 </variable> 
     15       <variable id="rhosn"    type="float" > 330.0 </variable> 
     16       <variable id="missval"  type="float" > 1.e20 </variable> 
     17    </variable_definition> 
    818<!-- Fields definition --> 
    919    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     
    1828     
    1929    <axis_definition> 
    20       <axis id="deptht" long_name="Vertical T levels" unit="m" positive="down" /> 
    21       <axis id="depthu" long_name="Vertical U levels" unit="m" positive="down" /> 
    22       <axis id="depthv" long_name="Vertical V levels" unit="m" positive="down" /> 
    23       <axis id="depthw" long_name="Vertical W levels" unit="m" positive="down" /> 
    24       <axis id="nfloat" long_name="Float number"      unit="-"                 /> 
    25       <axis id="icbcla"  long_name="Iceberg class"      unit="1"               /> 
    26       <axis id="ncatice" long_name="Ice category"       unit="1"               /> 
    27       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"            /> 
    28       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"            /> 
     30      <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
     31      <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
     32      <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
     33      <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
     34      <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
     35      <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
     36      <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
     37      <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
     38      <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    2939    </axis_definition> 
    3040  
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/VORTEX/EXPREF/namelist_cfg

    r10075 r11822  
    263263!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    264264!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    265 !!   namflo       float parameters                                      ("key_float") 
    266 !!   nam_diaharm  Harmonic analysis of tidal constituents               ("key_diaharm") 
    267 !!   namdct       transports through some sections                      ("key_diadct") 
     265!!   namflo       float parameters                                      (default: OFF) 
     266!!   nam_diaharm  Harmonic analysis of tidal constituents               (default; OFF) 
     267!!   nam_diadct   transports through some sections                      (default: OFF) 
    268268!!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    269269!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/VORTEX/MY_SRC/domvvl.F90

    r11483 r11822  
    990990      REWIND( numnam_ref )              ! Namelist nam_vvl in reference namelist :  
    991991      READ  ( numnam_ref, nam_vvl, IOSTAT = ios, ERR = 901) 
    992 901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nam_vvl in reference namelist', lwp ) 
     992901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'nam_vvl in reference namelist' ) 
    993993      REWIND( numnam_cfg )              ! Namelist nam_vvl in configuration namelist : Parameters of the run 
    994994      READ  ( numnam_cfg, nam_vvl, IOSTAT = ios, ERR = 902 ) 
    995 902   IF( ios >  0 ) CALL ctl_nam ( ios , 'nam_vvl in configuration namelist', lwp ) 
     995902   IF( ios >  0 ) CALL ctl_nam ( ios , 'nam_vvl in configuration namelist' ) 
    996996      IF(lwm) WRITE ( numond, nam_vvl ) 
    997997      ! 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/VORTEX/MY_SRC/usrdef_nam.F90

    r10074 r11822  
    4040CONTAINS 
    4141 
    42    SUBROUTINE usr_def_nam( ldtxt, ldnam, cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
     42   SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
    4343      !!---------------------------------------------------------------------- 
    4444      !!                     ***  ROUTINE dom_nam  *** 
     
    5252      !! ** input   : - namusr_def namelist found in namelist_cfg 
    5353      !!---------------------------------------------------------------------- 
    54       CHARACTER(len=*), DIMENSION(:), INTENT(out) ::   ldtxt, ldnam    ! stored print information 
    5554      CHARACTER(len=*)              , INTENT(out) ::   cd_cfg          ! configuration name 
    5655      INTEGER                       , INTENT(out) ::   kk_cfg          ! configuration resolution 
     
    5857      INTEGER                       , INTENT(out) ::   kperio          ! lateral global domain b.c.  
    5958      ! 
    60       INTEGER ::   ios, ii      ! Local integer 
     59      INTEGER ::   ios          ! Local integer 
    6160      REAL(wp)::   zlx, zly, zh ! Local scalars 
    6261      !! 
     
    6463      !!---------------------------------------------------------------------- 
    6564      ! 
    66       ii = 1 
    67       ! 
    6865      REWIND( numnam_cfg )          ! Namelist namusr_def (exist in namelist_cfg only) 
    6966      READ  ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 
    70 902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist', .TRUE. ) 
     67902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 
    7168      ! 
    7269#if defined key_agrif  
     
    8077#endif 
    8178      ! 
    82       WRITE( ldnam(:), namusr_def ) 
     79      IF(lwm)   WRITE( numond, namusr_def ) 
    8380      ! 
    8481      cd_cfg = 'VORTEX'             ! name & resolution (not used) 
    85       kk_cfg = INT( rn_dx ) 
     82      kk_cfg = nINT( rn_dx ) 
    8683      ! 
    87       ! Global Domain size:  VORTEX global domain is  1800 km x 1800 Km x 5000 m 
    88       kpi = INT( 1800.e3  / rn_dx ) + 3   
    89       kpj = INT( 1800.e3  / rn_dy ) + 3  
    90       kpk = INT( 5000._wp / rn_dz ) + 1 
    91 #if defined key_agrif 
    92       IF( .NOT. Agrif_Root() ) THEN 
     84      IF( Agrif_Root() ) THEN       ! Global Domain size:  VORTEX global domain is  1800 km x 1800 Km x 5000 m 
     85         kpi = NINT( 1800.e3  / rn_dx ) + 3   
     86         kpj = NINT( 1800.e3  / rn_dy ) + 3  
     87      ELSE 
    9388         kpi  = nbcellsx + 2 + 2*nbghostcells 
    9489         kpj  = nbcellsy + 2 + 2*nbghostcells 
    9590      ENDIF 
    96 #endif 
     91      kpk = NINT( 5000._wp / rn_dz ) + 1 
    9792      ! 
    9893      zlx = (kpi-2)*rn_dx*1.e-3 
    9994      zly = (kpj-2)*rn_dy*1.e-3 
    10095      zh  = (kpk-1)*rn_dz 
    101       !                             ! control print 
    102       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    103       WRITE(ldtxt(ii),*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg'   ;   ii = ii + 1 
    104       WRITE(ldtxt(ii),*) '~~~~~~~~~~~ '                                                                 ;   ii = ii + 1 
    105       WRITE(ldtxt(ii),*) '   Namelist namusr_def : VORTEX test case'                                    ;   ii = ii + 1 
    106       WRITE(ldtxt(ii),*) '      horizontal resolution             rn_dx  = ', rn_dx, ' m'               ;   ii = ii + 1 
    107       WRITE(ldtxt(ii),*) '      horizontal resolution             rn_dy  = ', rn_dy, ' m'               ;   ii = ii + 1 
    108       WRITE(ldtxt(ii),*) '      vertical resolution               rn_dz  = ', rn_dz, ' m'               ;   ii = ii + 1 
    109       WRITE(ldtxt(ii),*) '      VORTEX domain: '                                                        ;   ii = ii + 1 
    110       WRITE(ldtxt(ii),*) '         LX [km]: ', zlx                                                      ;   ii = ii + 1 
    111       WRITE(ldtxt(ii),*) '         LY [km]: ', zly                                                      ;   ii = ii + 1 
    112       WRITE(ldtxt(ii),*) '          H [m] : ', zh                                                       ;   ii = ii + 1 
    113       WRITE(ldtxt(ii),*) '      Reference latitude            rn_ppgphi0 = ', rn_ppgphi0                ;   ii = ii + 1 
    114       ! 
    11596      !                             ! Set the lateral boundary condition of the global domain 
    11697      kperio = 0                    ! VORTEX configuration : closed basin 
    117       ! 
    118       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    119       WRITE(ldtxt(ii),*) '   Lateral boundary condition of the global domain'                           ;   ii = ii + 1 
    120       WRITE(ldtxt(ii),*) '      VORTEX : closed basin            jperio = ', kperio                     ;   ii = ii + 1 
     98      !                             ! control print 
     99      IF(lwp) THEN 
     100         WRITE(numout,*) '   ' 
     101         WRITE(numout,*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg' 
     102         WRITE(numout,*) '~~~~~~~~~~~ ' 
     103         WRITE(numout,*) '   Namelist namusr_def : VORTEX test case' 
     104         WRITE(numout,*) '      horizontal resolution             rn_dx  = ', rn_dx, ' m' 
     105         WRITE(numout,*) '      horizontal resolution             rn_dy  = ', rn_dy, ' m' 
     106         WRITE(numout,*) '      vertical resolution               rn_dz  = ', rn_dz, ' m' 
     107         WRITE(numout,*) '      VORTEX domain: ' 
     108         WRITE(numout,*) '         LX [km]: ', zlx 
     109         WRITE(numout,*) '         LY [km]: ', zly 
     110         WRITE(numout,*) '          H [m] : ', zh 
     111         WRITE(numout,*) '      Reference latitude            rn_ppgphi0 = ', rn_ppgphi0 
     112         WRITE(numout,*) '   ' 
     113         WRITE(numout,*) '   Lateral boundary condition of the global domain' 
     114         WRITE(numout,*) '      VORTEX : closed basin            jperio = ', kperio 
     115      ENDIF 
    121116      ! 
    122117   END SUBROUTINE usr_def_nam 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/WAD/EXPREF/context_nemo.xml

    r9930 r11822  
    66<context id="nemo"> 
    77<!-- $id$ --> 
     8    <variable_definition> 
     9    <!-- Year of time origin for NetCDF files; defaults to 1800 --> 
     10       <variable id="ref_year" type="int"   > 1800 </variable> 
     11       <variable id="rau0"     type="float" > 1026.0 </variable> 
     12       <variable id="cpocean"  type="float" > 3991.86795711963 </variable> 
     13       <variable id="convSpsu" type="float" > 0.99530670233846  </variable> 
     14       <variable id="rhoic"    type="float" > 917.0 </variable> 
     15       <variable id="rhosn"    type="float" > 330.0 </variable> 
     16       <variable id="missval"  type="float" > 1.e20 </variable> 
     17    </variable_definition> 
    818<!-- Fields definition --> 
    919    <field_definition src="./field_def_nemo-oce.xml"/>   <!--  NEMO ocean dynamics                     --> 
     
    1828     
    1929    <axis_definition> 
    20       <axis id="deptht" long_name="Vertical T levels" unit="m" positive="down" /> 
    21       <axis id="depthu" long_name="Vertical U levels" unit="m" positive="down" /> 
    22       <axis id="depthv" long_name="Vertical V levels" unit="m" positive="down" /> 
    23       <axis id="depthw" long_name="Vertical W levels" unit="m" positive="down" /> 
    24       <axis id="nfloat" long_name="Float number"      unit="-"                 /> 
    25       <axis id="icbcla"  long_name="Iceberg class"      unit="1"               /> 
    26       <axis id="ncatice" long_name="Ice category"       unit="1"               /> 
    27       <axis id="iax_20C" long_name="20 degC isotherm"   unit="degC"            /> 
    28       <axis id="iax_28C" long_name="28 degC isotherm"   unit="degC"            /> 
     30      <axis id="deptht"  long_name="Vertical T levels" unit="m" positive="down" /> 
     31      <axis id="depthu"  long_name="Vertical U levels" unit="m" positive="down" /> 
     32      <axis id="depthv"  long_name="Vertical V levels" unit="m" positive="down" /> 
     33      <axis id="depthw"  long_name="Vertical W levels" unit="m" positive="down" /> 
     34      <axis id="nfloat"  long_name="Float number"      unit="-"                 /> 
     35      <axis id="icbcla"  long_name="Iceberg class"     unit="1"                 /> 
     36      <axis id="ncatice" long_name="Ice category"      unit="1"                 /> 
     37      <axis id="iax_20C" long_name="20 degC isotherm"  unit="degC"              /> 
     38      <axis id="iax_28C" long_name="28 degC isotherm"  unit="degC"              /> 
    2939    </axis_definition> 
    3040  
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/WAD/EXPREF/namelist_cfg

    r11763 r11822  
    180180&nambdy_dta    !  open boundaries - external data                        
    181181!----------------------------------------------------------------------- 
     182   ln_zinterp  = .false.      !  T if a vertical interpolation is required. Variables gdep[tuv] and e3[tuv] must exist in the file 
     183   !                          !  automatically defined to T if the number of vertical levels in bdy dta /= jpk 
     184   ln_full_vel = .false.      !  T if [uv]3d are "full" velocities and not only its baroclinic components 
     185   !                          !  in this case, baroclinic and barotropic velocities will be recomputed -> [uv]2d not needed 
     186   ! 
     187   cn_dir  =  './' 
    182188!              !  file name      ! frequency (hours) ! variable  ! time interp. !  clim   ! 'yearly'/ ! weights  ! rotation ! land/sea mask ! 
    183189!              !                 !  (if <0  months)  !   name    !  (logical)   !  (T/F ) ! 'monthly' ! filename ! pairing  ! filename      ! 
    184    bn_ssh =     'bdyssh_tc7' ,         1        , 'sshbdy',     .true.     , .true.  ,  'daily'  ,    ''    ,   ''     , '' 
    185    bn_u2d =     'bdyuv_tc7'  ,         1        , 'ubdy'  ,     .true.     , .true.  ,  'daily'  ,    ''    ,   ''     , '' 
    186    bn_v2d =     'bdyuv_tc7'  ,         1        , 'vbdy'  ,     .true.     , .true.  ,  'daily'  ,    ''    ,   ''     , '' 
    187    cn_dir      =    './'   !  root directory for the location of the bulk files 
    188    ln_full_vel = .false.        ! 
     190   bn_ssh =     'bdyssh_tc7' ,         1.       , 'sshbdy',     .true.     , .true.  ,  'daily'  ,    ''    ,   ''     , '' 
     191   bn_u2d =     'bdyuv_tc7'  ,         1.       , 'ubdy'  ,     .true.     , .true.  ,  'daily'  ,    ''    ,   ''     , '' 
     192   bn_v2d =     'bdyuv_tc7'  ,         1.       , 'vbdy'  ,     .true.     , .true.  ,  'daily'  ,    ''    ,   ''     , '' 
    189193/ 
    190194!----------------------------------------------------------------------- 
     
    417421!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    418422!!   namdiu       Cool skin and warm layer models                       (default: OFF) 
    419 !!   namflo       float parameters                                      ("key_float") 
    420 !!   nam_diaharm  Harmonic analysis of tidal constituents               ("key_diaharm") 
    421 !!   namdct       transports through some sections                      ("key_diadct") 
     423!!   namflo       float parameters                                      (default: OFF) 
     424!!   nam_diaharm  Harmonic analysis of tidal constituents               (default: OFF) 
     425!!   nam_diadct   transports through some sections                      (default: OFF) 
    422426!!   nam_diatmb   Top Middle Bottom Output                              (default: OFF) 
    423427!!   nam_dia25h   25h Mean Output                                       (default: OFF) 
     
    439443/ 
    440444!----------------------------------------------------------------------- 
    441 &namdct        ! transports through some sections                       ("key_diadct") 
    442 !----------------------------------------------------------------------- 
     445&nam_diadct    !   transports through some sections                     (default: OFF) 
     446!----------------------------------------------------------------------- 
     447    ln_diadct  = .false.   ! Calculate transport thru sections or not 
    443448    nn_dct      = 60       !  time step frequency for transports computing 
    444449    nn_dctwri   = 60       !  time step frequency for transports writing 
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/tests/WAD/MY_SRC/usrdef_nam.F90

    r10074 r11822  
    3939CONTAINS 
    4040 
    41    SUBROUTINE usr_def_nam( ldtxt, ldnam, cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
     41   SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 
    4242      !!---------------------------------------------------------------------- 
    4343      !!                     ***  ROUTINE dom_nam  *** 
     
    5151      !! ** input   : - namusr_def namelist found in namelist_cfg 
    5252      !!---------------------------------------------------------------------- 
    53       CHARACTER(len=*), DIMENSION(:), INTENT(out) ::   ldtxt, ldnam    ! stored print information 
    5453      CHARACTER(len=*)              , INTENT(out) ::   cd_cfg          ! configuration name 
    5554      INTEGER                       , INTENT(out) ::   kk_cfg          ! configuration resolution 
     
    5756      INTEGER                       , INTENT(out) ::   kperio          ! lateral global domain b.c.  
    5857      ! 
    59       INTEGER ::   ios, ii   ! Local integer 
     58      INTEGER ::   ios   ! Local integer 
    6059      !! 
    6160      NAMELIST/namusr_def/ rn_dx, rn_dz, nn_wad_test 
    6261      !!---------------------------------------------------------------------- 
    6362      ! 
    64       ii = 1 
    65       ! 
    6663      REWIND( numnam_cfg )          ! Namelist namusr_def (exist in namelist_cfg only) 
    6764      READ  ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 
    68 902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist', .TRUE. ) 
     65902   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 
    6966      ! 
    70       WRITE( ldnam(:), namusr_def ) 
     67      IF(lwm)   WRITE( numond, namusr_def ) 
    7168      ! 
    7269      ! 
     
    7976      kpj = INT(  32.e3 / rn_dx ) + 2 
    8077      kpk = INT(  10.  / rn_dz ) + 1 
    81       ! 
    82       !                             ! control print 
    83       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    84       WRITE(ldtxt(ii),*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg'   ;   ii = ii + 1 
    85       WRITE(ldtxt(ii),*) '~~~~~~~~~~~ '                                                                 ;   ii = ii + 1 
    86       WRITE(ldtxt(ii),*) '   Namelist namusr_def : WAD_TEST_CASES test case'                             ;   ii = ii + 1 
    87       WRITE(ldtxt(ii),*) '      horizontal resolution                    rn_dx  = ', rn_dx, ' meters'   ;   ii = ii + 1 
    88       WRITE(ldtxt(ii),*) '      vertical   resolution                    rn_dz  = ', rn_dz, ' meters'   ;   ii = ii + 1 
    89       WRITE(ldtxt(ii),*) '      WAD_TEST_CASES domain = 52 km  x  34 km x 10 m'                ;   ii = ii + 1 
    90       WRITE(ldtxt(ii),*) '         resulting global domain size :        jpiglo = ', kpi                ;   ii = ii + 1 
    91       WRITE(ldtxt(ii),*) '                                               jpjglo = ', kpj                ;   ii = ii + 1 
    92       WRITE(ldtxt(ii),*) '                                               jpkglo = ', kpk                ;   ii = ii + 1 
    93       ! 
    9478      !                             ! Set the lateral boundary condition of the global domain 
    9579      kperio = 0                    ! WAD_TEST_CASES configuration : closed domain 
    9680      IF( nn_wad_test == 8 ) kperio = 7 ! North-South cyclic test 
    9781      ! 
    98       WRITE(ldtxt(ii),*) '   '                                                                          ;   ii = ii + 1 
    99       WRITE(ldtxt(ii),*) '   Lateral boundary condition of the global domain'                           ;   ii = ii + 1 
    100       WRITE(ldtxt(ii),*) '      closed                                   jperio = ', kperio             ;   ii = ii + 1 
     82      !                             ! control print 
     83      IF(lwp) THEN 
     84         WRITE(numout,*) '   ' 
     85         WRITE(numout,*) 'usr_def_nam  : read the user defined namelist (namusr_def) in namelist_cfg' 
     86         WRITE(numout,*) '~~~~~~~~~~~ ' 
     87         WRITE(numout,*) '   Namelist namusr_def : WAD_TEST_CASES test case' 
     88         WRITE(numout,*) '      horizontal resolution                    rn_dx  = ', rn_dx, ' meters' 
     89         WRITE(numout,*) '      vertical   resolution                    rn_dz  = ', rn_dz, ' meters' 
     90         WRITE(numout,*) '      WAD_TEST_CASES domain = 52 km  x  34 km x 10 m' 
     91         WRITE(numout,*) '         resulting global domain size :        jpiglo = ', kpi 
     92         WRITE(numout,*) '                                               jpjglo = ', kpj 
     93         WRITE(numout,*) '                                               jpkglo = ', kpk 
     94         WRITE(numout,*) '   ' 
     95         WRITE(numout,*) '   Lateral boundary condition of the global domain' 
     96         WRITE(numout,*) '      closed                                   jperio = ', kperio 
     97      ENDIF 
    10198      ! 
    10299   END SUBROUTINE usr_def_nam 
Note: See TracChangeset for help on using the changeset viewer.