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 11831 for NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/CANAL – NEMO

Ignore:
Timestamp:
2019-10-29T18:14:49+01:00 (4 years ago)
Author:
laurent
Message:

Update the branch to r11830 of the trunk!

Location:
NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/CANAL
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/CANAL/EXPREF/context_nemo.xml

    r9930 r11831  
    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_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/CANAL/EXPREF/namelist_cfg

    r10075 r11831  
    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_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/CANAL/MY_SRC/diawri.F90

    r10425 r11831  
    531531      !!      define all the NETCDF files and fields 
    532532      !!      At each time step call histdef to compute the mean if ncessary 
    533       !!      Each nwrite time step, output the instantaneous or mean fields 
     533      !!      Each nn_write time step, output the instantaneous or mean fields 
    534534      !!---------------------------------------------------------------------- 
    535535      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index 
     
    547547      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d       ! 3D workspace 
    548548      !!---------------------------------------------------------------------- 
    549       !  
    550       IF( ln_timing )   CALL timing_start('dia_wri') 
    551549      ! 
    552550      IF( ninist == 1 ) THEN     !==  Output the initial state and forcings  ==! 
     
    555553      ENDIF 
    556554      ! 
     555      IF( nn_write == -1 )   RETURN   ! we will never do any output 
     556      !  
     557      IF( ln_timing )   CALL timing_start('dia_wri') 
     558      ! 
    557559      ! 0. Initialisation 
    558560      ! ----------------- 
     
    564566      clop = "x"         ! no use of the mask value (require less cpu time and otherwise the model crashes) 
    565567#if defined key_diainstant 
    566       zsto = nwrite * rdt 
     568      zsto = nn_write * rdt 
    567569      clop = "inst("//TRIM(clop)//")" 
    568570#else 
     
    570572      clop = "ave("//TRIM(clop)//")" 
    571573#endif 
    572       zout = nwrite * rdt 
     574      zout = nn_write * rdt 
    573575      zmax = ( nitend - nit000 + 1 ) * rdt 
    574576 
     
    601603         ! WRITE root name in date.file for use by postpro 
    602604         IF(lwp) THEN 
    603             CALL dia_nam( clhstnam, nwrite,' ' ) 
     605            CALL dia_nam( clhstnam, nn_write,' ' ) 
    604606            CALL ctl_opn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
    605607            WRITE(inum,*) clhstnam 
     
    609611         ! Define the T grid FILE ( nid_T ) 
    610612 
    611          CALL dia_nam( clhstnam, nwrite, 'grid_T' ) 
     613         CALL dia_nam( clhstnam, nn_write, 'grid_T' ) 
    612614         IF(lwp) WRITE(numout,*) " Name of NETCDF file ", clhstnam    ! filename 
    613615         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit 
     
    645647         ! Define the U grid FILE ( nid_U ) 
    646648 
    647          CALL dia_nam( clhstnam, nwrite, 'grid_U' ) 
     649         CALL dia_nam( clhstnam, nn_write, 'grid_U' ) 
    648650         IF(lwp) WRITE(numout,*) " Name of NETCDF file ", clhstnam    ! filename 
    649651         CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu,           &  ! Horizontal grid: glamu and gphiu 
     
    658660         ! Define the V grid FILE ( nid_V ) 
    659661 
    660          CALL dia_nam( clhstnam, nwrite, 'grid_V' )                   ! filename 
     662         CALL dia_nam( clhstnam, nn_write, 'grid_V' )                   ! filename 
    661663         IF(lwp) WRITE(numout,*) " Name of NETCDF file ", clhstnam 
    662664         CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv,           &  ! Horizontal grid: glamv and gphiv 
     
    671673         ! Define the W grid FILE ( nid_W ) 
    672674 
    673          CALL dia_nam( clhstnam, nwrite, 'grid_W' )                   ! filename 
     675         CALL dia_nam( clhstnam, nn_write, 'grid_W' )                   ! filename 
    674676         IF(lwp) WRITE(numout,*) " Name of NETCDF file ", clhstnam 
    675677         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit 
     
    762764         ENDIF 
    763765 
    764          IF( .NOT. ln_cpl ) THEN 
     766         IF( ln_ssr ) THEN 
    765767            CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping"         , "W/m2"   ,   &  ! qrp 
    766768               &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     
    770772               &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    771773         ENDIF 
    772  
    773          IF( ln_cpl .AND. nn_ice <= 1 ) THEN 
    774             CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping"         , "W/m2"   ,   &  ! qrp 
    775                &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    776             CALL histdef( nid_T, "sowafldp", "Surface Water Flux: Damping"        , "Kg/m2/s",   &  ! erp 
    777                &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    778             CALL histdef( nid_T, "sosafldp", "Surface salt flux: Damping"         , "Kg/m2/s",   &  ! erp * sn 
    779                &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    780          ENDIF 
    781           
     774        
    782775         clmx ="l_max(only(x))"    ! max index on a period 
    783776!         CALL histdef( nid_T, "sobowlin", "Bowl Index"                         , "W-point",   &  ! bowl INDEX  
     
    855848      ! donne le nombre d'elements, et ndex la liste des indices a sortir 
    856849 
    857       IF( lwp .AND. MOD( itmod, nwrite ) == 0 ) THEN  
     850      IF( lwp .AND. MOD( itmod, nn_write ) == 0 ) THEN  
    858851         WRITE(numout,*) 'dia_wri : write model outputs in NetCDF files at ', kt, 'time-step' 
    859852         WRITE(numout,*) '~~~~~~ ' 
     
    919912      ENDIF 
    920913 
    921       IF( .NOT. ln_cpl ) THEN 
     914      IF( ln_ssr ) THEN 
    922915         CALL histwrite( nid_T, "sohefldp", it, qrp           , ndim_hT, ndex_hT )   ! heat flux damping 
    923916         CALL histwrite( nid_T, "sowafldp", it, erp           , ndim_hT, ndex_hT )   ! freshwater flux damping 
    924          IF( ln_ssr ) zw2d(:,:) = erp(:,:) * tsn(:,:,1,jp_sal) * tmask(:,:,1) 
    925          CALL histwrite( nid_T, "sosafldp", it, zw2d          , ndim_hT, ndex_hT )   ! salt flux damping 
    926       ENDIF 
    927       IF( ln_cpl .AND. nn_ice <= 1 ) THEN 
    928          CALL histwrite( nid_T, "sohefldp", it, qrp           , ndim_hT, ndex_hT )   ! heat flux damping 
    929          CALL histwrite( nid_T, "sowafldp", it, erp           , ndim_hT, ndex_hT )   ! freshwater flux damping 
    930          IF( ln_ssr ) zw2d(:,:) = erp(:,:) * tsn(:,:,1,jp_sal) * tmask(:,:,1) 
     917         zw2d(:,:) = erp(:,:) * tsn(:,:,1,jp_sal) * tmask(:,:,1) 
    931918         CALL histwrite( nid_T, "sosafldp", it, zw2d          , ndim_hT, ndex_hT )   ! salt flux damping 
    932919      ENDIF 
  • NEMO/branches/2019/dev_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/CANAL/MY_SRC/domvvl.F90

    r10425 r11831  
    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_r11085_ASINTER-05_Brodeau_Advanced_Bulk/tests/CANAL/MY_SRC/usrdef_nam.F90

    r10074 r11831  
    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 
Note: See TracChangeset for help on using the changeset viewer.