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 6051 – NEMO

Changeset 6051


Ignore:
Timestamp:
2015-12-15T10:46:14+01:00 (8 years ago)
Author:
lovato
Message:

Merge branches/2015/dev_r5056_CMCC4_simplification (see ticket #1456)

Location:
branches/2015/dev_CMCC_merge_2015/NEMOGCM
Files:
2 added
6 deleted
80 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/ARCH/CMCC/arch-ifort_athena.fcm

    r5656 r6051  
    1717 
    1818 
    19 %NCDF_INC -I$NETCDF/include 
    20 %NCDF_LIB -L$NETCDF/lib -lnetcdf -lnetcdff 
     19%NCDF_INC -I${NETCDF}/include 
     20%NCDF_LIB -L${NETCDF}/lib -lnetcdf -lnetcdff 
    2121%CPP                 cpp 
    2222%FC mpiifort 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/ARCH/CMCC/arch-ifort_athena_xios.fcm

    r5656 r6051  
    3434 
    3535# required modules 
    36 # module load  INTEL/intel_xe_2013 NETCDF/netcdf-4.3_parallel NETCDF/parallel-netcdf-1.3.1 HDF5/hdf5-1.8.11_parallel 
     36# module load  INTEL/intel_xe_2013 NETCDF/netcdf-4.3_parallel_shared NETCDF/parallel-netcdf-1.3.1 HDF5/hdf5-1.8.11_parallel_shared 
    3737 
    3838# Environment variables set by user. Others should automatically define when loading modules. 
    39 # export XIOS=/users/home/models/nemo/xios 
     39#export XIOS=/users/home/models/nemo/xios 
     40#export HDF5=/users/home/opt/hdf5/hdf5-1.8.11_parallel_shared 
     41#export NETCDF=/users/home/opt/netcdf/netcdf-4.3_parallel_shared 
    4042 
    41 %NCDF_INC            -I$NETCDF/include -I$PNETCDF/include 
    42 %NCDF_LIB            -L$NETCDF/lib -lnetcdff -lnetcdf -L$PNETCDF/lib -lpnetcdf 
    43 %HDF5_INC            -I$PHDF5/include 
    44 %HDF5_LIB            -L$PHDF5/lib -lhdf5_hl -lhdf5 
    45 %XIOS_INC            -I$XIOS/inc 
    46 %XIOS_LIB            -L$XIOS/lib -lxios 
     43%NCDF_INC            -I${NETCDF}/include  
     44%NCDF_LIB            -L${NETCDF}/lib -lnetcdff -lnetcdf 
     45%HDF5_INC            -I${HDF5}/include 
     46%HDF5_LIB            -L${HDF5}/lib -lhdf5_hl -lhdf5 
     47%XIOS_INC            -I${XIOS}/inc 
     48%XIOS_LIB            -L${XIOS}/lib -lxios 
    4749%CPP                 cpp 
    4850%FC                  mpiifort 
    49 %FCFLAGS             -r8 -O3 -xHost -fp-model source -traceback 
     51%FCFLAGS             -r8 -O3 -xHost -fp-model source -traceback ${CFLAGS}  
    5052%FFLAGS              %FCFLAGS 
    5153%LD                  mpiifort 
    5254%FPPFLAGS            -P -C -traditional 
    53 %LDFLAGS             -lstdc++ -lz -lgpfs -lcurl 
     55%LDFLAGS             -lstdc++ -lz -lgpfs -lcurl  ${LDFLAGS} 
    5456%AR                  ar  
    5557%ARFLAGS             -r 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/CONFIG/AMM12/EXP00/namelist_cfg

    r5930 r6051  
    5050!----------------------------------------------------------------------- 
    5151   rn_rdt      =   600.    !  time step for the dynamics (and tracer if nn_acc=0) 
    52    rn_rdtmin   =   600.          !  minimum time step on tracers (used if nn_acc=1) 
    53    rn_rdtmax   =   600.          !  maximum time step on tracers (used if nn_acc=1) 
    54    rn_rdth     =   600.          !  depth variation of tracer time step  (used if nn_acc=1) 
    5552   ppglam0     =  999999.0             !  longitude of first raw and column T-point (jphgr_msh = 1) 
    5653   ppgphi0     =  999999.0             ! latitude  of first raw and column T-point (jphgr_msh = 1) 
     
    448445!----------------------------------------------------------------------- 
    449446/ 
    450 !----------------------------------------------------------------------- 
    451 &namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
    452 !----------------------------------------------------------------------- 
    453 / 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/CONFIG/C1D_PAPA/EXP00/namelist_cfg

    r5930 r6051  
    4141   rn_bathy    = 4198.     !  value of the bathymetry. if (=0) bottom flat at jpkm1 
    4242   nn_msh      =    0      !  create (=1) a mesh file or not (=0) 
    43    rn_rdt      =  360.     !  time step for the dynamics (and tracer if nn_acc=0) 
    44    rn_rdtmin   =  360.     !  minimum time step on tracers (used if nn_acc=1) 
    45    rn_rdtmax   =  360.     !  maximum time step on tracers (used if nn_acc=1) 
     43   rn_rdt      =  360.     !  time step for the dynamics  
    4644   jphgr_msh   =       1                 !  type of horizontal mesh 
    4745   ppglam0     =    -150.0               !  longitude of first raw and column T-point (jphgr_msh = 1) 
     
    342340!----------------------------------------------------------------------- 
    343341/ 
    344 !----------------------------------------------------------------------- 
    345 &namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
    346 !----------------------------------------------------------------------- 
    347    ln_neptramp       = .false.  ! ramp down Neptune velocity in shallow water 
    348 / 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/CONFIG/GYRE/EXP00/namelist_cfg

    r5930 r6051  
    4343!----------------------------------------------------------------------- 
    4444   nn_bathy    =    0      !  compute (=0) or read (=1) the bathymetry file 
    45    rn_rdt      = 7200.     !  time step for the dynamics (and tracer if nn_acc=0) 
    46    rn_rdtmin   = 7200.           !  minimum time step on tracers (used if nn_acc=1) 
    47    rn_rdtmax   = 7200.           !  maximum time step on tracers (used if nn_acc=1) 
     45   rn_rdt      = 7200.     !  time step for the dynamics  
    4846   jphgr_msh   =       5                 !  type of horizontal mesh 
    4947   ppglam0     =       0.0               !  longitude of first raw and column T-point (jphgr_msh = 1) 
     
    401399!----------------------------------------------------------------------- 
    402400/ 
    403 !----------------------------------------------------------------------- 
    404 &namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
    405 !----------------------------------------------------------------------- 
    406    ln_neptramp       = .false.  ! ramp down Neptune velocity in shallow water 
    407 / 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/CONFIG/GYRE_BFM/EXP00/namelist_cfg

    r5930 r6051  
    4646!----------------------------------------------------------------------- 
    4747   nn_bathy    =    0      !  compute (=0) or read (=1) the bathymetry file 
    48    rn_rdt      = 7200.     !  time step for the dynamics (and tracer if nn_acc=0) 
    49    rn_rdtmin   = 7200.           !  minimum time step on tracers (used if nn_acc=1) 
    50    rn_rdtmax   = 7200.           !  maximum time step on tracers (used if nn_acc=1) 
     48   rn_rdt      = 7200.     !  time step for the dynamics  
    5149   jphgr_msh   =       5                 !  type of horizontal mesh 
    5250   ppglam0     =       0.0               !  longitude of first raw and column T-point (jphgr_msh = 1) 
     
    390388!----------------------------------------------------------------------- 
    391389/ 
    392 !----------------------------------------------------------------------- 
    393 &namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
    394 !----------------------------------------------------------------------- 
    395    ln_neptramp       = .false.  ! ramp down Neptune velocity in shallow water 
    396 / 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/CONFIG/GYRE_PISCES/EXP00/namelist_cfg

    r5930 r6051  
    3636!----------------------------------------------------------------------- 
    3737   nn_bathy    =    0      !  compute (=0) or read (=1) the bathymetry file 
    38    rn_rdt      = 7200.     !  time step for the dynamics (and tracer if nn_acc=0) 
    39    rn_rdtmin   = 7200.           !  minimum time step on tracers (used if nn_acc=1) 
    40    rn_rdtmax   = 7200.           !  maximum time step on tracers (used if nn_acc=1) 
     38   rn_rdt      = 7200.     !  time step for the dynamics  
    4139   jphgr_msh   =       5                 !  type of horizontal mesh 
    4240   ppglam0     =       0.0               !  longitude of first raw and column T-point (jphgr_msh = 1) 
     
    260258!----------------------------------------------------------------------- 
    261259/ 
    262 !----------------------------------------------------------------------- 
    263 &namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
    264 !----------------------------------------------------------------------- 
    265    ln_neptramp       = .false.  ! ramp down Neptune velocity in shallow water 
    266 / 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/CONFIG/GYRE_XIOS/EXP00/namelist_cfg

    r5930 r6051  
    4040!----------------------------------------------------------------------- 
    4141   nn_bathy    =    0      !  compute (=0) or read (=1) the bathymetry file 
    42    rn_rdt      = 7200.     !  time step for the dynamics (and tracer if nn_acc=0) 
    43    rn_rdtmin   = 7200.           !  minimum time step on tracers (used if nn_acc=1) 
    44    rn_rdtmax   = 7200.           !  maximum time step on tracers (used if nn_acc=1) 
     42   rn_rdt      = 7200.     !  time step for the dynamics  
     43!   nn_baro     =   60      !  number of barotropic time step            ("key_dynspg_ts") 
    4544   jphgr_msh   =       5                 !  type of horizontal mesh 
    4645   ppglam0     =       0.0               !  longitude of first raw and column T-point (jphgr_msh = 1) 
     
    348347!----------------------------------------------------------------------- 
    349348/ 
    350 !----------------------------------------------------------------------- 
    351 &namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
    352 !----------------------------------------------------------------------- 
    353    ln_neptramp       = .false.  ! ramp down Neptune velocity in shallow water 
    354 / 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/1_namelist_cfg

    r5930 r6051  
    5252   ppacr2      =  999999.              ! 
    5353   rn_rdt      = 2880.     !  time step for the dynamics (and tracer if nn_acc=0) 
    54    rn_rdtmin   = 14400.          !  minimum time step on tracers (used if nn_acc=1) 
    55    rn_rdtmax   = 14400.          !  maximum time step on tracers (used if nn_acc=1) 
    5654/ 
    5755!----------------------------------------------------------------------- 
     
    266264/ 
    267265!----------------------------------------------------------------------- 
    268 &namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
    269 !----------------------------------------------------------------------- 
    270 / 
    271 !----------------------------------------------------------------------- 
    272266&namobs       !  observation usage                                      ('key_diaobs') 
    273267!----------------------------------------------------------------------- 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist_cfg

    r5930 r6051  
    245245/ 
    246246!----------------------------------------------------------------------- 
    247 &namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
    248 !----------------------------------------------------------------------- 
    249 / 
    250 !----------------------------------------------------------------------- 
    251247&namobs       !  observation usage                                      ('key_diaobs') 
    252248!----------------------------------------------------------------------- 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/CONFIG/ORCA2_LIM3/EXP00/1_namelist_cfg

    r5930 r6051  
    5151   ppacr2      =  999999.              ! 
    5252   rn_rdt      = 2880.     !  time step for the dynamics (and tracer if nn_acc=0) 
    53    rn_rdtmin   = 14400.          !  minimum time step on tracers (used if nn_acc=1) 
    54    rn_rdtmax   = 14400.          !  maximum time step on tracers (used if nn_acc=1) 
    5553/ 
    5654!----------------------------------------------------------------------- 
     
    266264/ 
    267265!----------------------------------------------------------------------- 
    268 &namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
    269 !----------------------------------------------------------------------- 
    270 / 
    271 !----------------------------------------------------------------------- 
    272266&namobs       !  observation usage                                      ('key_diaobs') 
    273267!----------------------------------------------------------------------- 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/CONFIG/ORCA2_LIM3/EXP00/namelist_cfg

    r5930 r6051  
    251251/ 
    252252!----------------------------------------------------------------------- 
    253 &namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
    254 !----------------------------------------------------------------------- 
    255 / 
    256 !----------------------------------------------------------------------- 
    257253&namobs       !  observation usage                                      ('key_diaobs') 
    258254!----------------------------------------------------------------------- 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/CONFIG/ORCA2_LIM_CFC_C14b/EXP00/1_namelist_cfg

    r5930 r6051  
    8787   rn_rdt      = 2880.     !  time step for the dynamics (and tracer if nn_acc=0) 
    8888   rn_atfp     =    0.1    !  asselin time filter parameter 
    89    nn_acc      =    0      !  acceleration of convergence : =1      used, rdt < rdttra(k) 
    90                                  !                          =0, not used, rdt = rdttra 
    91    rn_rdtmin   = 14400.          !  minimum time step on tracers (used if nn_acc=1) 
    92    rn_rdtmax   = 14400.          !  maximum time step on tracers (used if nn_acc=1) 
    93    rn_rdth     =  800.           !  depth variation of tracer time step  (used if nn_acc=1) 
    9489/ 
    9590!----------------------------------------------------------------------- 
     
    889884   cn_dir_cdg  = './'  !  root directory for the location of drag coefficient files 
    890885/ 
    891 !----------------------------------------------------------------------- 
    892 &namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
    893 !----------------------------------------------------------------------- 
    894    ! Suggested lengthscale values are those of Eby & Holloway (1994) for a coarse model 
    895    ln_neptsimp       = .false.  ! yes/no use simplified neptune 
    896  
    897    ln_smooth_neptvel = .false.  ! yes/no smooth zunep, zvnep 
    898    rn_tslse          =  1.2e4   ! value of lengthscale L at the equator 
    899    rn_tslsp          =  3.0e3   ! value of lengthscale L at the pole 
    900    ! Specify whether to ramp down the Neptune velocity in shallow 
    901    ! water, and if so the depth range controlling such ramping down 
    902    ln_neptramp       = .true.   ! ramp down Neptune velocity in shallow water 
    903    rn_htrmin         =  100.0   ! min. depth of transition range 
    904    rn_htrmax         =  200.0   ! max. depth of transition range 
    905 / 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/CONFIG/ORCA2_LIM_CFC_C14b/EXP00/namelist_cfg

    r5930 r6051  
    345345!----------------------------------------------------------------------- 
    346346/ 
    347 !----------------------------------------------------------------------- 
    348 &namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
    349 !----------------------------------------------------------------------- 
    350 / 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/CONFIG/ORCA2_LIM_PISCES/EXP00/namelist_cfg

    r5930 r6051  
    244244!----------------------------------------------------------------------- 
    245245/ 
    246 !----------------------------------------------------------------------- 
    247 &namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
    248 !----------------------------------------------------------------------- 
    249 / 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist_cfg

    r5930 r6051  
    3232!----------------------------------------------------------------------- 
    3333   nn_msh      =    1      !  create (=1) a mesh file or not (=0) 
    34    rn_rdt      = 21600.    !  time step for the dynamics (and tracer if nn_acc=0) 
    35    rn_rdtmin   = 21600.          !  minimum time step on tracers (used if nn_acc=1) 
    36    rn_rdtmax   = 21600.          !  maximum time step on tracers (used if nn_acc=1) 
     34   rn_rdt      = 21600.    !  time step for the dynamics  
    3735   jphgr_msh   =       0               !  type of horizontal mesh 
    3836   ppglam0     =  999999.0             !  longitude of first raw and column T-point (jphgr_msh = 1) 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/CONFIG/SHARED/namelist_ref

    r5930 r6051  
    132132   rn_rdt      = 5760.     !  time step for the dynamics (and tracer if nn_acc=0) 
    133133   rn_atfp     =    0.1    !  asselin time filter parameter 
    134    nn_acc      =    0      !  acceleration of convergence : =1      used, rdt < rdttra(k) 
    135                                  !                          =0, not used, rdt = rdttra 
    136    rn_rdtmin   = 28800.          !  minimum time step on tracers (used if nn_acc=1) 
    137    rn_rdtmax   = 28800.          !  maximum time step on tracers (used if nn_acc=1) 
    138    rn_rdth     =  800.           !  depth variation of tracer time step  (used if nn_acc=1) 
    139134   ln_crs      = .false.      !  Logical switch for coarsening module 
    140135   jphgr_msh   =       0               !  type of horizontal mesh 
     
    12441239   cn_dir_cdg  = './'  !  root directory for the location of drag coefficient files 
    12451240/ 
    1246 !----------------------------------------------------------------------- 
    1247 &namdyn_nept  !   Neptune effect (simplified: lateral and vertical diffusions removed) 
    1248 !----------------------------------------------------------------------- 
    1249    ! Suggested lengthscale values are those of Eby & Holloway (1994) for a coarse model 
    1250    ln_neptsimp       = .false.  ! yes/no use simplified neptune 
    1251  
    1252    ln_smooth_neptvel = .false.  ! yes/no smooth zunep, zvnep 
    1253    rn_tslse          =  1.2e4   ! value of lengthscale L at the equator 
    1254    rn_tslsp          =  3.0e3   ! value of lengthscale L at the pole 
    1255    ! Specify whether to ramp down the Neptune velocity in shallow 
    1256    ! water, and if so the depth range controlling such ramping down 
    1257    ln_neptramp       = .true.   ! ramp down Neptune velocity in shallow water 
    1258    rn_htrmin         =  100.0   ! min. depth of transition range 
    1259    rn_htrmax         =  200.0   ! max. depth of transition range 
    1260 / 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/LIM_SRC_2/iceini_2.F90

    r5385 r6051  
    8383      CALL ice_run_2                   ! read in namelist some run parameters 
    8484      !           
    85       rdt_ice = nn_fsbc * rdttra(1)    ! sea-ice time step 
     85      rdt_ice = nn_fsbc * rdt           ! sea-ice time step 
    8686      numit   = nit000 - 1 
    8787      ! 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/LIM_SRC_2/limrst_2.F90

    r5341 r6051  
    7171               WRITE(numout,*) 
    7272               SELECT CASE ( jprstlib ) 
    73                CASE ( jprstdimg ) 
    74                   WRITE(numout,*) '             open ice restart binary file: ',TRIM(clpath)//clname 
    7573               CASE DEFAULT 
    7674                  WRITE(numout,*) '             open ice restart NetCDF file: ',TRIM(clpath)//clname 
     
    192190      ENDIF 
    193191 
    194       IF ( jprstlib == jprstdimg ) THEN 
    195         ! eventually read netcdf file (monobloc)  for restarting on different number of processors 
    196         ! if {cn_icerst_in}.nc exists, then set jlibalt to jpnf90 
    197         INQUIRE( FILE = TRIM(cn_icerst_indir)//'/'//TRIM(cn_icerst_in)//'.nc', EXIST = llok ) 
    198         IF ( llok ) THEN ; jlibalt = jpnf90  ; ELSE ; jlibalt = jprstlib ; ENDIF 
    199       ENDIF 
    200  
    201192      CALL iom_open ( TRIM(cn_icerst_indir)//'/'//TRIM(cn_icerst_in), numrir, kiolib = jlibalt ) 
    202193 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/LIM_SRC_2/limwri_2.F90

    r4696 r6051  
    8585 
    8686#if ! defined key_iomput 
    87 # if defined key_dimgout 
    88    !!---------------------------------------------------------------------- 
    89    !!   'key_dimgout'                                    Direct Access file 
    90    !!---------------------------------------------------------------------- 
    91 # include "limwri_dimg_2.h90" 
    92 # else 
    9387   SUBROUTINE lim_wri_2( kt ) 
    9488      !!------------------------------------------------------------------- 
     
    215209      ! 
    216210   END SUBROUTINE lim_wri_2 
    217       
    218 #endif      
    219211 
    220212   SUBROUTINE lim_wri_init_2 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/LIM_SRC_3/limrst.F90

    r5341 r6051  
    7777               WRITE(numout,*) 
    7878               SELECT CASE ( jprstlib ) 
    79                CASE ( jprstdimg ) 
    80                   WRITE(numout,*) '             open ice restart binary file: ',TRIM(clpath)//clname 
    8179               CASE DEFAULT 
    8280                  WRITE(numout,*) '             open ice restart NetCDF file: ',TRIM(clpath)//clname 
     
    331329      ENDIF 
    332330 
    333       IF ( jprstlib == jprstdimg ) THEN 
    334         ! eventually read netcdf file (monobloc)  for restarting on different number of processors 
    335         ! if {cn_icerst_in}.nc exists, then set jlibalt to jpnf90 
    336         INQUIRE( FILE = TRIM(cn_icerst_indir)//'/'//TRIM(cn_icerst_in)//'.nc', EXIST = llok ) 
    337         IF ( llok ) THEN ; jlibalt = jpnf90  ; ELSE ; jlibalt = jprstlib ; ENDIF 
    338       ENDIF 
    339  
    340331      CALL iom_open ( TRIM(cn_icerst_indir)//'/'//cn_icerst_in, numrir, kiolib = jprstlib ) 
    341332 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90

    r5517 r6051  
    4141CONTAINS 
    4242 
    43 #if defined key_dimgout 
    44 # include "limwri_dimg.h90" 
    45 #else 
    4643 
    4744   SUBROUTINE lim_wri( kindic ) 
     
    298295       
    299296   END SUBROUTINE lim_wri 
    300 #endif 
    301297 
    302298  
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OFF_SRC/domrea.F90

    r5836 r6051  
    116116         &             nn_no   , cn_exp    , cn_ocerst_in, cn_ocerst_out, ln_rstart , nn_rstctl,   & 
    117117         &             nn_it000, nn_itend  , nn_date0    , nn_leapy     , nn_istate , nn_stock ,   & 
    118          &             nn_write, ln_dimgnnn, ln_mskland  , ln_cfmeta    , ln_clobber, nn_chunksz, nn_euler 
     118         &             nn_write, ln_mskland  , ln_cfmeta    , ln_clobber, nn_chunksz, nn_euler 
    119119      NAMELIST/namdom/ nn_bathy , rn_bathy, rn_e3zps_min, rn_e3zps_rat, nn_msh    , rn_hmin,   & 
    120          &             nn_acc   , rn_atfp     , rn_rdt      , rn_rdtmin ,            & 
    121          &             rn_rdtmax, rn_rdth     , nn_baro     , nn_closea , ln_crs, & 
    122          &             jphgr_msh, & 
     120         &             rn_atfp     , rn_rdt   , nn_baro     , nn_closea , ln_crs, jphgr_msh, & 
    123121         &             ppglam0, ppgphi0, ppe1_deg, ppe2_deg, ppe1_m, ppe2_m, & 
    124122         &             ppsur, ppa0, ppa1, ppkth, ppacr, ppdzmin, pphmax, ldbletanh, & 
     
    154152         WRITE(numout,*) '      frequency of restart file       nn_stock   = ', nn_stock 
    155153         WRITE(numout,*) '      frequency of output file        nn_write   = ', nn_write 
    156          WRITE(numout,*) '      multi file dimgout              ln_dimgnnn = ', ln_dimgnnn 
    157154         WRITE(numout,*) '      mask land points                ln_mskland = ', ln_mskland 
    158155         WRITE(numout,*) '      additional CF standard metadata ln_cfmeta  = ', ln_cfmeta 
     
    186183      ! parameters correspondting to nit000 - 1 (as we start the step loop with a call to day) 
    187184      ndastp = ndate0 - 1        ! ndate0 read in the namelist in dom_nam, we assume that we start run at 00:00 
    188       adatrj = ( REAL( nit000-1, wp ) * rdttra(1) ) / rday 
     185      adatrj = ( REAL( nit000-1, wp ) * rdt ) / rday 
    189186 
    190187#if defined key_agrif 
     
    231228         WRITE(numout,*) '      asselin time filter parameter        rn_atfp   = ', rn_atfp 
    232229         WRITE(numout,*) '      time-splitting: nb of sub time-step  nn_baro   = ', nn_baro 
    233          WRITE(numout,*) '      acceleration of converge             nn_acc    = ', nn_acc 
    234          WRITE(numout,*) '        nn_acc=1: surface tracer rdt       rn_rdtmin = ', rn_rdtmin 
    235          WRITE(numout,*) '                  bottom  tracer rdt       rdtmax    = ', rn_rdtmax 
    236          WRITE(numout,*) '                  depth of transition      rn_rdth   = ', rn_rdth 
    237230         WRITE(numout,*) '      suppression of closed seas (=0)      nn_closea = ', nn_closea 
    238231         WRITE(numout,*) '      type of horizontal mesh jphgr_msh           = ', jphgr_msh 
     
    260253      e3zps_rat = rn_e3zps_rat 
    261254      nmsh      = nn_msh 
    262       nacc      = nn_acc 
    263255      atfp      = rn_atfp 
    264256      rdt       = rn_rdt 
    265       rdtmin    = rn_rdtmin 
    266       rdtmax    = rn_rdtmin 
    267       rdth      = rn_rdth 
    268  
    269257#if defined key_netcdf4 
    270258      !                             ! NetCDF 4 case   ("key_netcdf4" defined) 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90

    r5836 r6051  
    205205      ENDIF 
    206206 
    207       IF ( nacc /= 0 ) & 
    208          & CALL ctl_stop( ' nacc /= 0 and key_asminc :',  & 
    209          &                ' Assimilation increments have only been implemented', & 
    210          &                ' for synchronous time stepping' ) 
    211207 
    212208      IF ( ( ln_asmdin ).AND.( ln_asmiau ) )   & 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/BDY/bdytides.F90

    r5930 r6051  
    323323      ENDIF 
    324324 
    325       IF ( nsec_day == NINT(0.5_wp * rdttra(1)) .AND. zflag==1 ) THEN 
     325      IF ( nsec_day == NINT(0.5_wp * rdt) .AND. zflag==1 ) THEN 
    326326        ! 
    327327        kt_tide = kt 
     
    438438            ! We refresh nodal factors every day below 
    439439            ! This should be done somewhere else 
    440             IF ( nsec_day == NINT(0.5_wp * rdttra(1)) .AND. lk_first_btstp ) THEN 
     440            IF ( nsec_day == NINT(0.5_wp * rdt) .AND. lk_first_btstp ) THEN 
    441441               ! 
    442442               kt_tide = kt                
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/C1D/domc1d.F90

    r5215 r6051  
    4444      !!---------------------------------------------------------------------- 
    4545      NAMELIST/namdom/ nn_bathy, rn_bathy , rn_e3zps_min, rn_e3zps_rat, nn_msh, rn_hmin,   & 
    46          &             nn_acc   , rn_atfp     , rn_rdt      , rn_rdtmin ,                  & 
    47          &             rn_rdtmax, rn_rdth     , nn_closea , ln_crs,    & 
    48          &             jphgr_msh, & 
     46         &             rn_atfp     , rn_rdt      ,nn_closea , ln_crs,  jphgr_msh, & 
    4947         &             ppglam0, ppgphi0, ppe1_deg, ppe2_deg, ppe1_m, ppe2_m, & 
    5048         &             ppsur, ppa0, ppa1, ppkth, ppacr, ppdzmin, pphmax, ldbletanh, & 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/CRS/crsfld.F90

    r5836 r6051  
    5252      !!      2. At time of output, rescale [1] by dimension and time 
    5353      !!         to yield the spatial and temporal average. 
    54       !!  See. diawri_dimg.h90, sbcmod.F90 
     54      !!  See. sbcmod.F90 
    5555      !! 
    5656      !! ** Method  :   
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/DIA/diafwb.F90

    r5836 r6051  
    116116          
    117117         ! Conversion in m3 
    118          a_fwf    = a_fwf * rdttra(1) * 1.e-3  
     118         a_fwf    = a_fwf * rdt * 1.e-3  
    119119          
    120120         ! fwf correction to bring back the mean ssh to zero 
     
    404404         WRITE(inum,*) 
    405405         WRITE(inum,*)    'Net freshwater budget ' 
    406          WRITE(inum,9010) '  fwf    = ',a_fwf,   ' m3 =', a_fwf   /(FLOAT(nitend-nit000+1)*rdttra(1)) * 1.e-6,' Sv' 
     406         WRITE(inum,9010) '  fwf    = ',a_fwf,   ' m3 =', a_fwf   /(FLOAT(nitend-nit000+1)*rdt) * 1.e-6,' Sv' 
    407407         WRITE(inum,*) 
    408408         WRITE(inum,9010) '  zarea =',zarea 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/DIA/diaharm.F90

    r5930 r6051  
    2121   USE ioipsl          ! NetCDF IPSL library 
    2222   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    23    USE diadimg         ! To write dimg 
    2423   USE timing          ! preformance summary 
    2524   USE wrk_nemo        ! working arrays 
     
    384383      !!---------------------------------------------------------------------- 
    385384 
    386 #if defined key_dimgout 
    387       cdfile_name_T = TRIM(cexper)//'_Tidal_harmonics_gridT.dimgproc' 
    388       cdfile_name_U = TRIM(cexper)//'_Tidal_harmonics_gridU.dimgproc' 
    389       cdfile_name_V = TRIM(cexper)//'_Tidal_harmonics_gridV.dimgproc' 
    390 #endif 
    391  
    392385      IF(lwp) WRITE(numout,*) '  ' 
    393386      IF(lwp) WRITE(numout,*) 'dia_wri_harm : Write harmonic analysis results' 
    394 #if defined key_dimgout 
    395       IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~  Output files: ', TRIM(cdfile_name_T) 
    396       IF(lwp) WRITE(numout,*) '                             ', TRIM(cdfile_name_U) 
    397       IF(lwp) WRITE(numout,*) '                             ', TRIM(cdfile_name_V) 
    398 #endif 
    399387      IF(lwp) WRITE(numout,*) '  ' 
    400388 
     
    402390      !///////////// 
    403391      ! 
    404 #if defined key_dimgout 
    405       cltext='Elevation amplitude and phase' 
    406       CALL dia_wri_dimg(TRIM(cdfile_name_T), TRIM(cltext), out_eta, 2*nb_ana, '2') 
    407 #else 
    408392      DO jh = 1, nb_ana 
    409393      CALL iom_put( TRIM(tname(jh))//'x', out_eta(:,:,jh) ) 
    410394      CALL iom_put( TRIM(tname(jh))//'y', out_eta(:,:,nb_ana+jh) ) 
    411395      END DO 
    412 #endif 
    413396 
    414397      ! B) ubar 
    415398      !///////// 
    416399      ! 
    417 #if defined key_dimgout 
    418       cltext='ubar amplitude and phase' 
    419       CALL dia_wri_dimg(TRIM(cdfile_name_U), TRIM(cltext), out_u, 2*nb_ana, '2') 
    420 #else 
    421400      DO jh = 1, nb_ana 
    422401      CALL iom_put( TRIM(tname(jh))//'x_u', out_u(:,:,jh) ) 
    423402      CALL iom_put( TRIM(tname(jh))//'y_u', out_u(:,:,nb_ana+jh) ) 
    424403      END DO 
    425 #endif 
    426404 
    427405      ! C) vbar 
    428406      !///////// 
    429407      ! 
    430 #if defined key_dimgout 
    431       cltext='vbar amplitude and phase' 
    432       CALL dia_wri_dimg(TRIM(cdfile_name_V), TRIM(cltext), out_v, 2*nb_ana, '2') 
    433 #else 
    434408      DO jh = 1, nb_ana 
    435409         CALL iom_put( TRIM(tname(jh))//'x_v', out_v(:,:,jh       ) ) 
    436410         CALL iom_put( TRIM(tname(jh))//'y_v', out_v(:,:,jh+nb_ana) ) 
    437411      END DO 
    438 #endif 
    439412      ! 
    440413   END SUBROUTINE dia_wri_harm 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/DIA/dianam.F90

    r2528 r6051  
    7272 
    7373      IF( llfsec .OR. kfreq < 0 ) THEN   ;   inbsec = kfreq                       ! output frequency already in seconds 
    74       ELSE                               ;   inbsec = kfreq * NINT( rdttra(1) )   ! from time-step to seconds 
     74      ELSE                               ;   inbsec = kfreq * NINT( rdt )   ! from time-step to seconds 
    7575      ENDIF 
    7676      iddss = NINT( rday          )                                         ! number of seconds in 1 day 
     
    116116      ! date of the beginning and the end of the run 
    117117 
    118       zdrun = rdttra(1) / rday * REAL( nitend - nit000, wp )                ! length of the run in days 
    119       zjul  = fjulday - rdttra(1) / rday 
     118      zdrun = rdt / rday * REAL( nitend - nit000, wp )                ! length of the run in days 
     119      zjul  = fjulday - rdt / rday 
    120120      CALL ju2ymds( zjul        , iyear1, imonth1, iday1, zsec1 )           ! year/month/day of the beginning of run 
    121121      CALL ju2ymds( zjul + zdrun, iyear2, imonth2, iday2, zsec2 )           ! year/month/day of the end       of run 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90

    r5930 r6051  
    4242   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    4343   USE in_out_manager  ! I/O manager 
    44    USE diadimg         ! dimg direct access file format output 
    4544   USE iom 
    4645   USE ioipsl 
     
    9796  END FUNCTION dia_wri_alloc 
    9897 
    99 #if defined key_dimgout 
    100    !!---------------------------------------------------------------------- 
    101    !!   'key_dimgout'                                      DIMG output file 
    102    !!---------------------------------------------------------------------- 
    103 #   include "diawri_dimg.h90" 
    104  
    105 #else 
    10698   !!---------------------------------------------------------------------- 
    10799   !!   Default option                                   NetCDF output file 
    108100   !!---------------------------------------------------------------------- 
    109 # if defined key_iomput 
     101#if defined key_iomput 
    110102   !!---------------------------------------------------------------------- 
    111103   !!   'key_iomput'                                        use IOM library 
     
    410402      INTEGER  ::   iimi, iima, ipk, it, itmod, ijmi, ijma   ! local integers 
    411403      INTEGER  ::   jn, ierror                               ! local integers 
    412       REAL(wp) ::   zsto, zout, zmax, zjulian, zdt           ! local scalars 
     404      REAL(wp) ::   zsto, zout, zmax, zjulian                ! local scalars 
    413405      ! 
    414406      REAL(wp), POINTER, DIMENSION(:,:)   :: zw2d       ! 2D workspace 
     
    435427 
    436428      ! Define frequency of output and means 
    437       zdt = rdt 
    438       IF( nacc == 1 ) zdt = rdtmin 
    439429      clop = "x"         ! no use of the mask value (require less cpu time and otherwise the model crashes) 
    440430#if defined key_diainstant 
    441       zsto = nwrite * zdt 
     431      zsto = nwrite * rdt 
    442432      clop = "inst("//TRIM(clop)//")" 
    443433#else 
    444       zsto=zdt 
     434      zsto=rdt 
    445435      clop = "ave("//TRIM(clop)//")" 
    446436#endif 
    447       zout = nwrite * zdt 
    448       zmax = ( nitend - nit000 + 1 ) * zdt 
     437      zout = nwrite * rdt 
     438      zmax = ( nitend - nit000 + 1 ) * rdt 
    449439 
    450440      ! Define indices of the horizontal output zoom and vertical limit storage 
     
    488478         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit 
    489479            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       & 
    490             &          nit000-1, zjulian, zdt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set ) 
     480            &          nit000-1, zjulian, rdt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set ) 
    491481         CALL histvert( nid_T, "deptht", "Vertical T levels",      &  ! Vertical grid: gdept 
    492482            &           "m", ipk, gdept_1d, nz_T, "down" ) 
     
    524514         CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu,           &  ! Horizontal grid: glamu and gphiu 
    525515            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       & 
    526             &          nit000-1, zjulian, zdt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set ) 
     516            &          nit000-1, zjulian, rdt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set ) 
    527517         CALL histvert( nid_U, "depthu", "Vertical U levels",      &  ! Vertical grid: gdept 
    528518            &           "m", ipk, gdept_1d, nz_U, "down" ) 
     
    537527         CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv,           &  ! Horizontal grid: glamv and gphiv 
    538528            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       & 
    539             &          nit000-1, zjulian, zdt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set ) 
     529            &          nit000-1, zjulian, rdt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set ) 
    540530         CALL histvert( nid_V, "depthv", "Vertical V levels",      &  ! Vertical grid : gdept 
    541531            &          "m", ipk, gdept_1d, nz_V, "down" ) 
     
    550540         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit 
    551541            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       & 
    552             &          nit000-1, zjulian, zdt, nh_W, nid_W, domain_id=nidom, snc4chunks=snc4set ) 
     542            &          nit000-1, zjulian, rdt, nh_W, nid_W, domain_id=nidom, snc4chunks=snc4set ) 
    553543         CALL histvert( nid_W, "depthw", "Vertical W levels",      &  ! Vertical grid: gdepw 
    554544            &          "m", ipk, gdepw_1d, nz_W, "down" ) 
     
    843833      ! 
    844834   END SUBROUTINE dia_wri 
    845 # endif 
    846  
    847835#endif 
    848836 
     
    867855      INTEGER  ::   id_i , nz_i, nh_i        
    868856      INTEGER, DIMENSION(1) ::   idex             ! local workspace 
    869       REAL(wp) ::   zsto, zout, zmax, zjulian, zdt 
     857      REAL(wp) ::   zsto, zout, zmax, zjulian 
    870858      !!---------------------------------------------------------------------- 
    871859      !  
     
    876864      clname = cdfile_name 
    877865      IF( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) 
    878       zdt  = rdt 
    879866      zsto = rdt 
    880867      clop = "inst(x)"           ! no use of the mask value (require less cpu time) 
    881868      zout = rdt 
    882       zmax = ( nitend - nit000 + 1 ) * zdt 
     869      zmax = ( nitend - nit000 + 1 ) * rdt 
    883870 
    884871      IF(lwp) WRITE(numout,*) 
     
    895882      zjulian = zjulian - adatrj   !   set calendar origin to the beginning of the experiment 
    896883      CALL histbeg( clname, jpi, glamt, jpj, gphit,   & 
    897           1, jpi, 1, jpj, nit000-1, zjulian, zdt, nh_i, id_i, domain_id=nidom, snc4chunks=snc4set ) ! Horizontal grid : glamt and gphit 
     884          1, jpi, 1, jpj, nit000-1, zjulian, rdt, nh_i, id_i, domain_id=nidom, snc4chunks=snc4set ) ! Horizontal grid : glamt and gphit 
    898885      CALL histvert( id_i, "deptht", "Vertical T levels",   &    ! Vertical grid : gdept 
    899886          "m", jpk, gdept_1d, nz_i, "down") 
     
    962949      ! ----------------- 
    963950      CALL histclo( id_i ) 
    964 #if ! defined key_iomput && ! defined key_dimgout 
     951#if ! defined key_iomput 
    965952      IF( ninist /= 1  ) THEN 
    966953         CALL histclo( nid_T ) 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90

    r5563 r6051  
    2020   !! 
    2121   !!   we suppose that the time step is deviding the number of second of in a day 
    22    !!             ---> MOD( rday, rdttra(1) ) == 0 
     22   !!             ---> MOD( rday, rdt ) == 0 
    2323   !! 
    2424   !!           ----------- WARNING ----------- 
     
    7878            &           'You must do a restart at higher frequency (or remove this stop and recompile the code in I8)' ) 
    7979      ENDIF 
    80       ! all calendar staff is based on the fact that MOD( rday, rdttra(1) ) == 0 
    81       IF( MOD( rday     , rdttra(1) ) /= 0. )   CALL ctl_stop( 'the time step must devide the number of second of in a day' ) 
     80      ! all calendar staff is based on the fact that MOD( rday, rdt ) == 0 
     81      IF( MOD( rday     , rdt ) /= 0. )   CALL ctl_stop( 'the time step must devide the number of second of in a day' ) 
    8282      IF( MOD( rday     , 2.        ) /= 0. )   CALL ctl_stop( 'the number of second of in a day must be an even number'    ) 
    83       IF( MOD( rdttra(1), 2.        ) /= 0. )   CALL ctl_stop( 'the time step (in second) must be an even number'           ) 
     83      IF( MOD( rdt, 2.        ) /= 0. )   CALL ctl_stop( 'the time step (in second) must be an even number'           ) 
    8484      nsecd   = NINT(rday           ) 
    8585      nsecd05 = NINT(0.5 * rday     ) 
    86       ndt     = NINT(      rdttra(1)) 
    87       ndt05   = NINT(0.5 * rdttra(1)) 
     86      ndt     = NINT(      rdt) 
     87      ndt05   = NINT(0.5 * rdt) 
    8888 
    8989      IF( .NOT. lk_offline ) CALL day_rst( nit000, 'READ' ) 
     
    223223      nsec_week  = nsec_week  + ndt 
    224224      nsec_day   = nsec_day   + ndt 
    225       adatrj  = adatrj  + rdttra(1) / rday 
    226       fjulday = fjulday + rdttra(1) / rday 
     225      adatrj  = adatrj  + rdt / rday 
     226      fjulday = fjulday + rdt / rday 
    227227      IF( ABS(fjulday - REAL(NINT(fjulday),wp)) < zprec )   fjulday = REAL(NINT(fjulday),wp)   ! avoid truncation error 
    228228      IF( ABS(adatrj  - REAL(NINT(adatrj ),wp)) < zprec )   adatrj  = REAL(NINT(adatrj ),wp)   ! avoid truncation error 
     
    334334               ! parameters correspondting to nit000 - 1 (as we start the step loop with a call to day) 
    335335               ndastp = ndate0 - 1     ! ndate0 read in the namelist in dom_nam, we assume that we start run at 00:00 
    336                adatrj = ( REAL( nit000-1, wp ) * rdttra(1) ) / rday 
     336               adatrj = ( REAL( nit000-1, wp ) * rdt ) / rday 
    337337               ! note this is wrong if time step has changed during run 
    338338            ENDIF 
     
    340340            ! parameters correspondting to nit000 - 1 (as we start the step loop with a call to day) 
    341341            ndastp = ndate0 - 1        ! ndate0 read in the namelist in dom_nam, we assume that we start run at 00:00 
    342             adatrj = ( REAL( nit000-1, wp ) * rdttra(1) ) / rday 
     342            adatrj = ( REAL( nit000-1, wp ) * rdt ) / rday 
    343343         ENDIF 
    344344         IF( ABS(adatrj  - REAL(NINT(adatrj),wp)) < 0.1 / rday )   adatrj = REAL(NINT(adatrj),wp)   ! avoid truncation error 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/DOM/dom_oce.F90

    r5930 r6051  
    3535   REAL(wp), PUBLIC ::   rn_e3zps_rat    !: minimum thickness ration for partial steps 
    3636   INTEGER , PUBLIC ::   nn_msh          !: = 1 create a mesh-mask file 
    37    INTEGER , PUBLIC ::   nn_acc          !: = 0/1 use of the acceleration of convergence technique 
    3837   REAL(wp), PUBLIC ::   rn_atfp         !: asselin time filter parameter 
    39    REAL(wp), PUBLIC ::   rn_rdt          !: time step for the dynamics (and tracer if nacc=0) 
    40    REAL(wp), PUBLIC ::   rn_rdtmin       !: minimum time step on tracers 
    41    REAL(wp), PUBLIC ::   rn_rdtmax       !: maximum time step on tracers 
    42    REAL(wp), PUBLIC ::   rn_rdth         !: depth variation of tracer step 
     38   REAL(wp), PUBLIC ::   rn_rdt          !: time step for the dynamics and tracer 
    4339   INTEGER , PUBLIC ::   nn_closea       !: =0 suppress closed sea/lake from the ORCA domain or not (=1) 
    4440   INTEGER , PUBLIC ::   nn_euler        !: =0 start with forward time step or not (=1) 
     
    9995   REAL(wp), PUBLIC ::   e3zps_rat       !: minimum thickness ration for partial steps 
    10096   INTEGER , PUBLIC ::   nmsh            !: = 1 create a mesh-mask file 
    101    INTEGER , PUBLIC ::   nacc            !: = 0/1 use of the acceleration of convergence technique 
    10297   REAL(wp), PUBLIC ::   atfp            !: asselin time filter parameter 
    103    REAL(wp), PUBLIC ::   rdt             !: time step for the dynamics (and tracer if nacc=0) 
    104    REAL(wp), PUBLIC ::   rdtmin          !: minimum time step on tracers 
    105    REAL(wp), PUBLIC ::   rdtmax          !: maximum time step on tracers 
    106    REAL(wp), PUBLIC ::   rdth            !: depth variation of tracer step 
     98   REAL(wp), PUBLIC ::   rdt             !: time step for the dynamics and tracer 
    10799 
    108100   !                                                  !!! associated variables 
    109101   INTEGER , PUBLIC                 ::   neuler        !: restart euler forward option (0=Euler) 
    110102   REAL(wp), PUBLIC                 ::   atfp1         !: asselin time filter coeff. (atfp1= 1-2*atfp) 
    111    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) ::   rdttra  !: vertical profile of tracer time step 
    112    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) ::   r2dtra  !: = 2*rdttra except at nit000 (=rdttra) if neuler=0 
     103   REAL(wp), PUBLIC                 ::   r2dt          !: = 2*rdt except at nit000 (=rdt) if neuler=0 
    113104 
    114105   !!---------------------------------------------------------------------- 
     
    331322      ierr(:) = 0 
    332323      ! 
    333       ALLOCATE( rdttra(jpk), r2dtra(jpk), mig(jpi), mjg(jpj), nfiimpp(jpni,jpnj),  & 
     324      ALLOCATE( mig(jpi), mjg(jpj), nfiimpp(jpni,jpnj),  & 
    334325         &      nfipproc(jpni,jpnj), nfilcit(jpni,jpnj), STAT=ierr(1) ) 
    335326         ! 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90

    r5836 r6051  
    138138         &             nn_no   , cn_exp    , cn_ocerst_in, cn_ocerst_out, ln_rstart , nn_rstctl,   & 
    139139         &             nn_it000, nn_itend  , nn_date0    , nn_leapy     , nn_istate , nn_stock ,   & 
    140          &             nn_write, ln_dimgnnn, ln_mskland  , ln_cfmeta    , ln_clobber, nn_chunksz, nn_euler 
     140         &             nn_write, ln_mskland  , ln_cfmeta , ln_clobber   , nn_chunksz, nn_euler 
    141141      NAMELIST/namdom/ nn_bathy, rn_bathy , rn_e3zps_min, rn_e3zps_rat, nn_msh, rn_hmin,   & 
    142          &             nn_acc   , rn_atfp     , rn_rdt      , rn_rdtmin ,                  & 
    143          &             rn_rdtmax, rn_rdth     , nn_closea , ln_crs,    & 
    144          &             jphgr_msh, & 
     142         &             rn_atfp , rn_rdt   , nn_closea   , ln_crs , jphgr_msh, & 
    145143         &             ppglam0, ppgphi0, ppe1_deg, ppe2_deg, ppe1_m, ppe2_m, & 
    146144         &             ppsur, ppa0, ppa1, ppkth, ppacr, ppdzmin, pphmax, ldbletanh, & 
     
    186184         ENDIF 
    187185         WRITE(numout,*) '      frequency of output file        nn_write   = ', nn_write 
    188          WRITE(numout,*) '      multi file dimgout              ln_dimgnnn = ', ln_dimgnnn 
    189186         WRITE(numout,*) '      mask land points                ln_mskland = ', ln_mskland 
    190187         WRITE(numout,*) '      additional CF standard metadata ln_cfmeta  = ', ln_cfmeta 
     
    267264         WRITE(numout,*) '      ocean time step                       rn_rdt    = ', rn_rdt 
    268265         WRITE(numout,*) '      asselin time filter parameter         rn_atfp   = ', rn_atfp 
    269          WRITE(numout,*) '      acceleration of converge              nn_acc    = ', nn_acc 
    270          WRITE(numout,*) '        nn_acc=1: surface tracer rdt        rn_rdtmin = ', rn_rdtmin 
    271          WRITE(numout,*) '                  bottom  tracer rdt        rdtmax    = ', rn_rdtmax 
    272          WRITE(numout,*) '                  depth of transition       rn_rdth   = ', rn_rdth 
    273266         WRITE(numout,*) '      suppression of closed seas (=0)       nn_closea = ', nn_closea 
    274267         WRITE(numout,*) '      online coarsening of dynamical fields ln_crs    = ', ln_crs 
     
    297290      e3zps_rat = rn_e3zps_rat 
    298291      nmsh      = nn_msh 
    299       nacc      = nn_acc 
    300292      atfp      = rn_atfp 
    301293      rdt       = rn_rdt 
    302       rdtmin    = rn_rdtmin 
    303       rdtmax    = rn_rdtmin 
    304       rdth      = rn_rdth 
    305294 
    306295#if defined key_netcdf4 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/DOM/domstp.F90

    r4292 r6051  
    4141      !!      filter parameter read in namelist 
    4242      !!              - Model time step: 
    43       !!      nacc = 0 : synchronous time intergration.  
    44       !!      There is one time step only, defined by: rdt, rdttra(k)=rdt 
    45       !!      nacc = 1 : accelerating the convergence. There is 2 different 
    46       !!      time steps for dynamics and tracers: 
    47       !!        rdt      : dynamical part 
    48       !!        rdttra(k): temperature and salinity 
    49       !!      The tracer time step is a function of vertical level. the model 
    50       !!      reference time step ( i.e. for wind stress, surface heat and 
    51       !!      salt fluxes) is the surface tracer time step is rdttra(1). 
    52       !!         N.B. depth dependent acceleration of convergence is not im- 
    53       !!      plemented for s-coordinate. 
     43      !!                synchronous time intergration. 
     44      !!      There is one time step only, defined by: rdt for dynamics and 
     45      !!      tracer,wind stress, surface heat and salt fluxes 
    5446      !! 
    55       !! ** Action  : - rdttra   : vertical profile of tracer time step 
     47      !! ** Action  : [REMOVED - rdttra: vertical profile of tracer time step] 
    5648      !!              - atfp1    : = 1 - 2*atfp 
    5749      !! 
     
    7264      atfp1 = 1. - 2. * atfp 
    7365 
    74       SELECT CASE ( nacc ) 
     66      IF(lwp) WRITE(numout,*)'               synchronous time stepping' 
     67      IF(lwp) WRITE(numout,*)'               dynamics and tracer time step = ', rdt/3600., ' hours' 
    7568 
    76          CASE ( 0 )                ! Synchronous time stepping 
    77             IF(lwp) WRITE(numout,*)'               synchronous time stepping' 
    78             IF(lwp) WRITE(numout,*)'               dynamics and tracer time step = ', rdt/3600., ' hours' 
    79  
    80             rdttra(:) = rdt 
    81  
    82          CASE ( 1 )                ! Accelerating the convergence 
    83             IF(lwp) WRITE(numout,*) '              no tracer damping in the turbocline' 
    84             IF(lwp) WRITE(numout,*)'               accelerating the convergence' 
    85             IF(lwp) WRITE(numout,*)'               dynamics time step = ', rdt/3600., ' hours' 
    86             IF( ln_sco .AND. rdtmin /= rdtmax .AND. lk_vvl )   & 
    87                  & CALL ctl_stop ( ' depth dependent acceleration of convergence not implemented in s-coordinates & 
    88                  &                   nor in variable volume' ) 
    89             IF(lwp) WRITE(numout,*)'         tracers   time step :  dt (hours)  level' 
    90  
    91             DO jk = 1, jpk 
    92                IF( gdept_1d(jk) <= rdth ) rdttra(jk) = rdtmin 
    93                IF( gdept_1d(jk) >  rdth ) THEN 
    94                   rdttra(jk) = rdtmin + ( rdtmax - rdtmin )   & 
    95                                       * ( EXP( ( gdept_1d(jk ) - rdth ) / rdth ) - 1. )   & 
    96                                       / ( EXP( ( gdept_1d(jpk) - rdth ) / rdth ) - 1. ) 
    97                ENDIF 
    98                IF(lwp) WRITE(numout,"(36x,f5.2,5x,i3)") rdttra(jk)/3600., jk 
    99             END DO   
    100  
    101          CASE DEFAULT              ! E R R O R  
    102  
    103             WRITE(ctmp1,*) ' nacc value e r r o r, nacc= ',nacc 
    104             CALL ctl_stop( ctmp1 ) 
    105  
    106       END SELECT 
    10769 
    10870   END SUBROUTINE dom_stp 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf.F90

    r5836 r6051  
    3434 
    3535   INTEGER  ::   nzdf = 0   ! type vertical diffusion algorithm used, defined from ln_zdf... namlist logicals 
    36    REAL(wp) ::   r2dt       ! time-step, = 2 rdttra except at nit000 (=rdttra) if neuler=0 
    3736 
    3837   !! * Substitutions 
     
    6362      ! 
    6463      !                                          ! set time step 
    65       IF( neuler == 0 .AND. kt == nit000     ) THEN   ;   r2dt =      rdt   ! = rdtra (restart with Euler time stepping) 
    66       ELSEIF(               kt <= nit000 + 1 ) THEN   ;   r2dt = 2. * rdt   ! = 2 rdttra (leapfrog) 
     64      IF( neuler == 0 .AND. kt == nit000     ) THEN   ;   r2dt =      rdt   ! = rdt (restart with Euler time stepping) 
     65      ELSEIF(               kt <= nit000 + 1 ) THEN   ;   r2dt = 2. * rdt   ! = 2 rdt (leapfrog) 
    6766      ENDIF 
    6867 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/IOM/in_out_manager.F90

    r5518 r6051  
    4242   INTEGER       ::   nn_stock         !: restart file frequency 
    4343   INTEGER, DIMENSION(10) :: nn_stocklist  !: restart dump times 
    44    LOGICAL       ::   ln_dimgnnn       !: type of dimgout. (F): 1 file for all proc 
    45                                                        !:                  (T): 1 file per proc 
    4644   LOGICAL       ::   ln_mskland       !: mask land points in NetCDF outputs (costly: + ~15%) 
    4745   LOGICAL       ::   ln_cfmeta        !: output additional data to netCDF files required for compliance with the CF metadata standard 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r5836 r6051  
    88   !!            3.0  ! 2007-07  (D. Storkey) Changes to iom_gettime 
    99   !!            3.4  ! 2012-12  (R. Bourdalle-Badie and G. Reffray)  add C1D case   
     10   !!            3.6  ! 2014-15  DIMG format removed 
    1011   !!-------------------------------------------------------------------- 
    1112 
     
    2324   USE lbclnk          ! lateal boundary condition / mpp exchanges 
    2425   USE iom_def         ! iom variables definitions 
    25    USE iom_ioipsl      ! NetCDF format with IOIPSL library 
    2626   USE iom_nf90        ! NetCDF format with native NetCDF library 
    27    USE iom_rstdimg     ! restarts access direct format "dimg" style... 
    2827   USE in_out_manager  ! I/O manager 
    2928   USE lib_mpp           ! MPP library 
     
    246245      CHARACTER(LEN=256)    ::   clname    ! the name of the file based on cdname [[+clcpu]+clcpu] 
    247246      CHARACTER(LEN=256)    ::   cltmpn    ! tempory name to store clname (in writting mode) 
    248       CHARACTER(LEN=10)     ::   clsuffix  ! ".nc" or ".dimg" 
     247      CHARACTER(LEN=10)     ::   clsuffix  ! ".nc"  
    249248      CHARACTER(LEN=15)     ::   clcpu     ! the cpu number (max jpmax_digits digits) 
    250249      CHARACTER(LEN=256)    ::   clinfo    ! info character 
     
    309308      ! which suffix should we use? 
    310309      SELECT CASE (iolib) 
    311       CASE (jpioipsl ) ;   clsuffix = '.nc' 
    312310      CASE (jpnf90   ) ;   clsuffix = '.nc' 
    313       CASE (jprstdimg) ;   clsuffix = '.dimg' 
    314311      CASE DEFAULT     ;   clsuffix = '' 
    315          CALL ctl_stop( TRIM(clinfo), 'accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     312         CALL ctl_stop( TRIM(clinfo), 'accepted IO library is only jpnf90 (jpioipsl option has been removed) ' ) 
    316313      END SELECT 
    317314      ! Add the suffix if needed 
     
    326323      IF( .NOT.llok ) THEN 
    327324         ! we try to add the cpu number to the name 
    328          IF( iolib == jprstdimg ) THEN   ;   WRITE(clcpu,*) narea 
    329          ELSE                            ;   WRITE(clcpu,*) narea-1 
    330          ENDIF 
     325         WRITE(clcpu,*) narea-1 
     326 
    331327         clcpu  = TRIM(ADJUSTL(clcpu)) 
    332328         iln = INDEX(clname,TRIM(clsuffix), back = .TRUE.) 
     
    375371         END SELECT 
    376372      ENDIF 
    377       ! Open the NetCDF or RSTDIMG file 
     373      ! Open the NetCDF file 
    378374      ! ============= 
    379375      ! do we have some free file identifier? 
     
    399395      IF( istop == nstop ) THEN   ! no error within this routine 
    400396         SELECT CASE (iolib) 
    401          CASE (jpioipsl )   ;   CALL iom_ioipsl_open(  clname, kiomid, llwrt, llok, idompar ) 
    402397         CASE (jpnf90   )   ;   CALL iom_nf90_open(    clname, kiomid, llwrt, llok, idompar ) 
    403          CASE (jprstdimg)   ;   CALL iom_rstdimg_open( clname, kiomid, llwrt, llok, idompar ) 
    404398         CASE DEFAULT 
    405             CALL ctl_stop( TRIM(clinfo)//' accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     399            CALL ctl_stop( TRIM(clinfo)//' accepted IO library is only jpnf90 (jpioipsl option has been removed) ' ) 
    406400         END SELECT 
    407401      ENDIF 
     
    438432            IF( iom_file(jf)%nfid > 0 ) THEN 
    439433               SELECT CASE (iom_file(jf)%iolib) 
    440                CASE (jpioipsl )   ;   CALL iom_ioipsl_close(  jf ) 
    441434               CASE (jpnf90   )   ;   CALL iom_nf90_close(    jf ) 
    442                CASE (jprstdimg)   ;   CALL iom_rstdimg_close( jf ) 
    443435               CASE DEFAULT 
    444                   CALL ctl_stop( TRIM(clinfo)//' accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     436                  CALL ctl_stop( TRIM(clinfo)//' accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    445437               END SELECT 
    446438               iom_file(jf)%nfid       = 0          ! free the id  
     
    497489               IF( iiv <= jpmax_vars ) THEN 
    498490                  SELECT CASE (iom_file(kiomid)%iolib) 
    499                   CASE (jpioipsl )   ;   iom_varid = iom_ioipsl_varid( kiomid, cdvar, iiv, kdimsz ) 
    500491                  CASE (jpnf90   )   ;   iom_varid = iom_nf90_varid  ( kiomid, cdvar, iiv, kdimsz, kndims ) 
    501                   CASE (jprstdimg)   ;   iom_varid = -1   ! all variables are listed in iom_file 
    502                   CASE DEFAULT    
    503                      CALL ctl_stop( TRIM(clinfo)//' accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     492                  CASE DEFAULT 
     493                     CALL ctl_stop( TRIM(clinfo)//' accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    504494                  END SELECT 
    505495               ELSE 
     
    559549                                 &                         'Use ncwa -a to suppress the unnecessary dimensions' ) 
    560550            SELECT CASE (iom_file(kiomid)%iolib) 
    561             CASE (jpioipsl )   ;   CALL iom_ioipsl_get(  kiomid, idvar, pvar, itime ) 
    562551            CASE (jpnf90   )   ;   CALL iom_nf90_get(    kiomid, idvar, pvar, itime ) 
    563             CASE (jprstdimg)   ;   CALL iom_rstdimg_get( kiomid, idvar, pvar ) 
    564             CASE DEFAULT     
    565                CALL ctl_stop( 'iom_g0d: accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     552            CASE DEFAULT 
     553               CALL ctl_stop( 'iom_g0d: accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    566554            END SELECT 
    567555         ENDIF 
     
    694682      IF( luse_jattr ) THEN 
    695683         SELECT CASE (iom_file(kiomid)%iolib) 
    696          CASE (jpioipsl, jprstdimg ) 
    697              CALL ctl_warn(trim(clinfo), 'lrowattr present and true but this only works with netcdf (jpnf90)') 
    698              luse_jattr = .false. 
    699684         CASE (jpnf90   )    
    700685             ! Ok 
    701686         CASE DEFAULT     
    702             CALL ctl_stop( TRIM(clinfo)//' accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     687            CALL ctl_stop( TRIM(clinfo)//' accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    703688         END SELECT 
    704689      ENDIF 
     
    866851       
    867852         SELECT CASE (iom_file(kiomid)%iolib) 
    868          CASE (jpioipsl )   ;   CALL iom_ioipsl_get(  kiomid, idvar, inbdim, istart, icnt, ix1, ix2, iy1, iy2,   & 
    869             &                                         pv_r1d, pv_r2d, pv_r3d ) 
    870853         CASE (jpnf90   )   ;   CALL iom_nf90_get(    kiomid, idvar, inbdim, istart, icnt, ix1, ix2, iy1, iy2,   & 
    871854            &                                         pv_r1d, pv_r2d, pv_r3d ) 
    872          CASE (jprstdimg)   ;   CALL iom_rstdimg_get( kiomid, idom, idvar, ix1, ix2, iy1, iy2,   & 
    873             &                                         pv_r1d, pv_r2d, pv_r3d ) 
    874          CASE DEFAULT     
    875             CALL ctl_stop( TRIM(clinfo)//' accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     855         CASE DEFAULT 
     856            CALL ctl_stop( TRIM(clinfo)//' accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    876857         END SELECT 
    877858 
     
    956937                  IF( iom_file(kiomid)%dimsz(1,idvar) <= size(ptime) ) THEN 
    957938                     SELECT CASE (iom_file(kiomid)%iolib) 
    958                      CASE (jpioipsl )   ;   CALL iom_ioipsl_gettime( kiomid, idvar, ptime, cdunits, cdcalendar ) 
    959939                     CASE (jpnf90   )   ;   CALL iom_nf90_gettime(   kiomid, idvar, ptime, cdunits, cdcalendar ) 
    960                      CASE (jprstdimg)   ;   CALL ctl_stop( TRIM(clinfo)//' case IO library == jprstdimg not coded...' ) 
    961                      CASE DEFAULT     
    962                         CALL ctl_stop( TRIM(clinfo)//' accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     940                     CASE DEFAULT 
     941                        CALL ctl_stop( TRIM(clinfo)//' accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    963942                     END SELECT 
    964943                  ELSE 
     
    991970         IF( iom_file(kiomid)%nfid > 0 ) THEN 
    992971            SELECT CASE (iom_file(kiomid)%iolib) 
    993             CASE (jpioipsl )   ;   CALL ctl_stop('iom_getatt: only nf90 available') 
    994972            CASE (jpnf90   )   ;   CALL iom_nf90_getatt( kiomid, cdatt, pvar ) 
    995             CASE (jprstdimg)   ;   CALL ctl_stop('iom_getatt: only nf90 available') 
    996             CASE DEFAULT     
    997                CALL ctl_stop( 'iom_g0d_att: accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     973            CASE DEFAULT 
     974               CALL ctl_stop( 'iom_g0d_att: accepted IO library is only jpnf90' ) 
    998975            END SELECT 
    999976         ENDIF 
     
    1017994            ivid = iom_varid( kiomid, cdvar, ldstop = .FALSE. ) 
    1018995            SELECT CASE (iom_file(kiomid)%iolib) 
    1019             CASE (jpioipsl )   ;   CALL iom_ioipsl_rstput( kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r0d = pvar ) 
    1020996            CASE (jpnf90   )   ;   CALL iom_nf90_rstput(   kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r0d = pvar ) 
    1021             CASE (jprstdimg)   ;   IF( kt == kwrite )    CALL iom_rstdimg_rstput( kiomid, cdvar, ivid, pvar ) 
    1022             CASE DEFAULT      
    1023                CALL ctl_stop( 'iom_rp0d: accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     997            CASE DEFAULT 
     998               CALL ctl_stop( 'iom_rp0d: accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    1024999            END SELECT 
    10251000         ENDIF 
     
    10391014            ivid = iom_varid( kiomid, cdvar, ldstop = .FALSE. ) 
    10401015            SELECT CASE (iom_file(kiomid)%iolib) 
    1041             CASE (jpioipsl )   ;   CALL iom_ioipsl_rstput( kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r1d = pvar ) 
    10421016            CASE (jpnf90   )   ;   CALL iom_nf90_rstput(   kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r1d = pvar ) 
    1043             CASE (jprstdimg)   ;   IF( kt == kwrite )    CALL iom_rstdimg_rstput( kiomid, cdvar, ivid, pv_r1d = pvar ) 
    1044             CASE DEFAULT      
    1045                CALL ctl_stop( 'iom_rp1d: accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     1017            CASE DEFAULT 
     1018               CALL ctl_stop( 'iom_rp1d: accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    10461019            END SELECT 
    10471020         ENDIF 
     
    10611034            ivid = iom_varid( kiomid, cdvar, ldstop = .FALSE. ) 
    10621035            SELECT CASE (iom_file(kiomid)%iolib) 
    1063             CASE (jpioipsl )   ;   CALL iom_ioipsl_rstput( kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r2d = pvar ) 
    10641036            CASE (jpnf90   )   ;   CALL iom_nf90_rstput(   kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r2d = pvar ) 
    1065             CASE (jprstdimg)   ;   IF( kt == kwrite )   CALL iom_rstdimg_rstput( kiomid, cdvar, ivid, pv_r2d = pvar )  
    1066             CASE DEFAULT      
    1067                CALL ctl_stop( 'iom_rp2d: accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     1037            CASE DEFAULT 
     1038               CALL ctl_stop( 'iom_rp2d: accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    10681039            END SELECT 
    10691040         ENDIF 
     
    10831054            ivid = iom_varid( kiomid, cdvar, ldstop = .FALSE. ) 
    10841055            SELECT CASE (iom_file(kiomid)%iolib) 
    1085             CASE (jpioipsl )   ;   CALL iom_ioipsl_rstput( kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r3d = pvar ) 
    10861056            CASE (jpnf90   )   ;   CALL iom_nf90_rstput(   kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r3d = pvar ) 
    1087             CASE (jprstdimg)   ;   IF( kt == kwrite )   CALL iom_rstdimg_rstput( kiomid, cdvar, ivid, pv_r3d = pvar ) 
    1088             CASE DEFAULT      
    1089                CALL ctl_stop( 'iom_rp3d: accepted IO library are only jpioipsl and jprstdimg' ) 
     1057            CASE DEFAULT 
     1058               CALL ctl_stop( 'iom_rp3d: accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    10901059            END SELECT 
    10911060         ENDIF 
     
    16451614            idx = INDEX(clname,'@startdate@') + INDEX(clname,'@STARTDATE@') 
    16461615            DO WHILE ( idx /= 0 )  
    1647                cldate = iom_sdate( fjulday - rdttra(1) / rday ) 
     1616               cldate = iom_sdate( fjulday - rdt / rday ) 
    16481617               clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+11:LEN_TRIM(clname)) 
    16491618               idx = INDEX(clname,'@startdate@') + INDEX(clname,'@STARTDATE@') 
     
    16521621            idx = INDEX(clname,'@startdatefull@') + INDEX(clname,'@STARTDATEFULL@') 
    16531622            DO WHILE ( idx /= 0 )  
    1654                cldate = iom_sdate( fjulday - rdttra(1) / rday, ldfull = .TRUE. ) 
     1623               cldate = iom_sdate( fjulday - rdt / rday, ldfull = .TRUE. ) 
    16551624               clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+15:LEN_TRIM(clname)) 
    16561625               idx = INDEX(clname,'@startdatefull@') + INDEX(clname,'@STARTDATEFULL@') 
     
    16591628            idx = INDEX(clname,'@enddate@') + INDEX(clname,'@ENDDATE@') 
    16601629            DO WHILE ( idx /= 0 )  
    1661                cldate = iom_sdate( fjulday + rdttra(1) / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE. ) 
     1630               cldate = iom_sdate( fjulday + rdt / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE. ) 
    16621631               clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+9:LEN_TRIM(clname)) 
    16631632               idx = INDEX(clname,'@enddate@') + INDEX(clname,'@ENDDATE@') 
     
    16661635            idx = INDEX(clname,'@enddatefull@') + INDEX(clname,'@ENDDATEFULL@') 
    16671636            DO WHILE ( idx /= 0 )  
    1668                cldate = iom_sdate( fjulday + rdttra(1) / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE., ldfull = .TRUE. ) 
     1637               cldate = iom_sdate( fjulday + rdt / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE., ldfull = .TRUE. ) 
    16691638               clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+13:LEN_TRIM(clname)) 
    16701639               idx = INDEX(clname,'@enddatefull@') + INDEX(clname,'@ENDDATEFULL@') 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/IOM/iom_def.F90

    r4205 r6051  
    2828   INTEGER, PARAMETER, PUBLIC ::   jpdom_autodta       = 9   !:  
    2929 
    30    INTEGER, PARAMETER, PUBLIC ::   jpioipsl    = 100      !: Use ioipsl (fliocom only) library 
    3130   INTEGER, PARAMETER, PUBLIC ::   jpnf90      = 101      !: Use nf90 library 
    32    INTEGER, PARAMETER, PUBLIC ::   jprstdimg   = 102      !: Use restart dimgs (fortran direct acces) library 
    33 #if defined key_dimgout 
    34    INTEGER, PARAMETER, PUBLIC ::   jprstlib  = jprstdimg  !: restarts io library 
    35 #else 
     31 
    3632   INTEGER, PARAMETER, PUBLIC ::   jprstlib  = jpnf90     !: restarts io library 
    37 #endif 
    3833 
    3934   INTEGER, PARAMETER, PUBLIC ::   jp_r8    = 200      !: write REAL(8) 
     
    5449      CHARACTER(LEN=240)                        ::   name     !: name of the file 
    5550      INTEGER                                   ::   nfid     !: identifier of the file (0 if closed) 
    56       INTEGER                                   ::   iolib    !: library used to read the file (jpioipsl, jpnf90 or jprstdimg) 
     51      INTEGER                                   ::   iolib    !: library used to read the file (jpnf90 or new formats, 
     52                                                              !: jpioipsl option has been removed) 
    5753      INTEGER                                   ::   nvars    !: number of identified varibles in the file 
    5854      INTEGER                                   ::   iduld    !: id of the unlimited dimension 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90

    r5836 r6051  
    9595               WRITE(numout,*) 
    9696               SELECT CASE ( jprstlib ) 
    97                CASE ( jprstdimg )   ;   WRITE(numout,*)                            & 
    98                    '             open ocean restart binary file: ',TRIM(clpath)//clname 
    9997               CASE DEFAULT         ;   WRITE(numout,*)                            & 
    10098                   '             open ocean restart NetCDF file: ',TRIM(clpath)//clname 
     
    126124      !!---------------------------------------------------------------------- 
    127125 
    128                      CALL iom_rstput( kt, nitrst, numrow, 'rdt'    , rdt       )   ! dynamics time step 
    129                      CALL iom_rstput( kt, nitrst, numrow, 'rdttra1', rdttra(1) )   ! surface tracer time step 
     126                     CALL iom_rstput( kt, nitrst, numrow, 'rdt'    , rdt       )   ! dynamics and tracer time step 
    130127 
    131128                     CALL iom_rstput( kt, nitrst, numrow, 'ub'     , ub        )     ! before fields 
     
    175172            SELECT CASE ( jprstlib ) 
    176173            CASE ( jpnf90    )   ;   WRITE(numout,*) 'rst_read : read oce NetCDF restart file' 
    177             CASE ( jprstdimg )   ;   WRITE(numout,*) 'rst_read : read oce binary restart file' 
    178174            END SELECT 
    179175            IF ( snc4set%luse )      WRITE(numout,*) 'rst_read : configured with NetCDF4 support' 
     
    183179         clpath = TRIM(cn_ocerst_indir) 
    184180         IF( clpath(LEN_TRIM(clpath):) /= '/' ) clpath = TRIM(clpath) // '/' 
    185          IF ( jprstlib == jprstdimg ) THEN 
    186            ! eventually read netcdf file (monobloc)  for restarting on different number of processors 
    187            ! if {cn_ocerst_in}.nc exists, then set jlibalt to jpnf90 
    188            INQUIRE( FILE = TRIM(cn_ocerst_indir)//'/'//TRIM(cn_ocerst_in)//'.nc', EXIST = llok ) 
    189            IF ( llok ) THEN ; jlibalt = jpnf90  ; ELSE ; jlibalt = jprstlib ; ENDIF 
    190          ENDIF 
    191181         CALL iom_open( TRIM(clpath)//cn_ocerst_in, numror, kiolib = jlibalt ) 
    192182      ENDIF 
     
    202192      !! ** Method  :   Read in restart.nc file fields which are necessary for restart 
    203193      !!---------------------------------------------------------------------- 
    204       REAL(wp) ::   zrdt, zrdttra1 
     194      REAL(wp) ::   zrdt 
    205195      INTEGER  ::   jk 
    206196      LOGICAL  ::   llok 
     
    213203         CALL iom_get( numror, 'rdt', zrdt ) 
    214204         IF( zrdt /= rdt )   neuler = 0 
    215       ENDIF 
    216       IF( iom_varid( numror, 'rdttra1', ldstop = .FALSE. ) > 0 )   THEN 
    217          CALL iom_get( numror, 'rdttra1', zrdttra1 ) 
    218          IF( zrdttra1 /= rdttra(1) )   neuler = 0 
    219205      ENDIF 
    220206      !  
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/LBC/mppini.F90

    r4679 r6051  
    457457#  include "mppini_2.h90" 
    458458 
    459 # if defined key_dimgout 
    460    !!---------------------------------------------------------------------- 
    461    !!   'key_dimgout'                  NO use of NetCDF files 
    462    !!---------------------------------------------------------------------- 
    463    SUBROUTINE mpp_init_ioipsl       ! Dummy routine 
    464    END SUBROUTINE mpp_init_ioipsl   
    465 # else 
    466459   SUBROUTINE mpp_init_ioipsl 
    467460      !!---------------------------------------------------------------------- 
     
    509502   END SUBROUTINE mpp_init_ioipsl   
    510503 
    511 # endif 
    512504#endif 
    513505 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90

    r5836 r6051  
    166166         isecsbc = nsec_year + nsec1jan000 + (kit+it_offset)*NINT( rdt/REAL(nn_baro,wp) ) 
    167167      ELSE                      ! middle of sbc time step 
    168          isecsbc = nsec_year + nsec1jan000 + NINT(0.5 * REAL(kn_fsbc - 1,wp) * rdttra(1)) + it_offset * NINT(rdttra(1)) 
     168         isecsbc = nsec_year + nsec1jan000 + NINT(0.5 * REAL(kn_fsbc - 1,wp) * rdt) + it_offset * NINT(rdt) 
    169169      ENDIF 
    170170      imf = SIZE( sd ) 
     
    193193               CALL fld_rec( kn_fsbc, sd(jf), kt_offset = it_offset, kit = kit )    ! update after record informations 
    194194 
    195                ! if kn_fsbc*rdttra is larger than nfreqh (which is kind of odd), 
     195               ! if kn_fsbc*rdt is larger than nfreqh (which is kind of odd), 
    196196               ! it is possible that the before value is no more the good one... we have to re-read it 
    197197               ! if before is not the last record of the file currently opened and after is the first record to be read 
     
    214214               IF( sd(jf)%ln_tint ) THEN 
    215215                   
    216                   ! if kn_fsbc*rdttra is larger than nfreqh (which is kind of odd), 
     216                  ! if kn_fsbc*rdt is larger than nfreqh (which is kind of odd), 
    217217                  ! it is possible that the before value is no more the good one... we have to re-read it 
    218218                  ! if before record is not just just before the after record... 
     
    245245                        ! year/month/week/day file to be not present. If the run continue further than the current 
    246246                        ! year/month/week/day, next year/month/week/day file must exist 
    247                         isecend = nsec_year + nsec1jan000 + (nitend - kt) * NINT(rdttra(1))   ! second at the end of the run  
     247                        isecend = nsec_year + nsec1jan000 + (nitend - kt) * NINT(rdt)   ! second at the end of the run 
    248248                        llstop = isecend > sd(jf)%nrec_a(2)                                   ! read more than 1 record of next year 
    249249                        ! we suppose that the date of next file is next day (should be ok even for weekly files...) 
     
    459459      IF( PRESENT(kt_offset) )   it_offset = kt_offset 
    460460      IF( PRESENT(kit) ) THEN   ;   it_offset = ( kit + it_offset ) * NINT( rdt/REAL(nn_baro,wp) ) 
    461       ELSE                      ;   it_offset =         it_offset   * NINT(       rdttra(1)      ) 
     461      ELSE                      ;   it_offset =         it_offset   * NINT(       rdt            ) 
    462462      ENDIF 
    463463      ! 
     
    536536         ELSE                                           ;   ztmp = REAL(nsec_year ,wp)  ! since 00h on Jan 1 of the current year 
    537537         ENDIF 
    538          ztmp = ztmp + 0.5 * REAL(kn_fsbc - 1, wp) * rdttra(1) + REAL( it_offset, wp )  ! centrered in the middle of sbc time step 
    539          ztmp = ztmp + 0.01 * rdttra(1)                                                 ! avoid truncation error  
     538         ztmp = ztmp + 0.5 * REAL(kn_fsbc - 1, wp) * rdt + REAL( it_offset, wp )        ! centrered in the middle of sbc time step 
     539         ztmp = ztmp + 0.01 * rdt                                                       ! avoid truncation error  
    540540         IF( sdjf%ln_tint ) THEN                ! time interpolation, shift by 1/2 record 
    541541            ! 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r5836 r6051  
    844844      LOGICAL  ::   llnewtx, llnewtau      ! update wind stress components and module?? 
    845845      INTEGER  ::   ji, jj, jn             ! dummy loop indices 
    846       INTEGER  ::   isec                   ! number of seconds since nit000 (assuming rdttra did not change since nit000) 
     846      INTEGER  ::   isec                   ! number of seconds since nit000 (assuming rdt did not change since nit000) 
    847847      REAL(wp) ::   zcumulneg, zcumulpos   ! temporary scalars      
    848848      REAL(wp) ::   zcoef                  ! temporary scalar 
     
    862862      !                                                      ! Receive all the atmos. fields (including ice information) 
    863863      !                                                      ! ======================================================= ! 
    864       isec = ( kt - nit000 ) * NINT( rdttra(1) )                ! date of exchanges 
     864      isec = ( kt - nit000 ) * NINT( rdt )                      ! date of exchanges 
    865865      DO jn = 1, jprcv                                          ! received fields sent by the atmosphere 
    866866         IF( srcv(jn)%laction )   CALL cpl_rcv( jn, isec, frcv(jn)%z3, xcplmask(:,:,1:nn_cplmodel), nrcvinfo(jn) ) 
     
    17131713      CALL wrk_alloc( jpi,jpj,jpl, ztmp3, ztmp4 ) 
    17141714 
    1715       isec = ( kt - nit000 ) * NINT(rdttra(1))        ! date of exchanges 
     1715      isec = ( kt - nit000 ) * NINT( rdt )        ! date of exchanges 
    17161716 
    17171717      zfr_l(:,:) = 1.- fr_i(:,:) 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/SBC/sbcdcy.F90

    r3764 r6051  
    9090 
    9191      ! When are we during the day (from 0 to 1) 
    92       zlo = ( REAL(nsec_day, wp) - 0.5_wp * rdttra(1) ) / rday 
    93       zup = zlo + ( REAL(nn_fsbc, wp)     * rdttra(1) ) / rday 
     92      zlo = ( REAL(nsec_day, wp) - 0.5_wp * rdt ) / rday 
     93      zup = zlo + ( REAL(nn_fsbc, wp)     * rdt ) / rday 
    9494      !                                           
    9595      IF( nday_qsr == -1 ) THEN       ! first time step only   
     
    189189         END DO   
    190190         ! 
    191          ztmp = rday / ( rdttra(1) * REAL(nn_fsbc, wp) ) 
     191         ztmp = rday / ( rdt * REAL(nn_fsbc, wp) ) 
    192192         rscal(:,:) = rscal(:,:) * ztmp 
    193193         ! 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/SBC/sbcfwb.F90

    r5643 r6051  
    129129         ENDIF    
    130130         !                                         ! Update fwfold if new year start 
    131          ikty = 365 * 86400 / rdttra(1)    !!bug  use of 365 days leap year or 360d year !!!!!!! 
     131         ikty = 365 * 86400 / rdt                  !!bug  use of 365 days leap year or 360d year !!!!!!! 
    132132         IF( MOD( kt, ikty ) == 0 ) THEN 
    133133            a_fwb_b = a_fwb                           ! mean sea level taking into account the ice+snow 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90

    r5541 r6051  
    373373      ! 
    374374      ! sea-ice timestep and inverse 
    375       rdt_ice   = nn_fsbc * rdttra(1)   
     375      rdt_ice   = nn_fsbc * rdt   
    376376      r1_rdtice = 1._wp / rdt_ice  
    377377 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/SBC/sbctide.F90

    r5930 r6051  
    4848      !!---------------------------------------------------------------------- 
    4949 
    50       IF( nsec_day == NINT(0.5_wp * rdttra(1)) ) THEN      ! start a new day 
     50      IF( nsec_day == NINT(0.5_wp * rdt) ) THEN      ! start a new day 
    5151         ! 
    5252         IF( kt == nit000 ) THEN 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90

    r5930 r6051  
    9696      !                                          ! set time step 
    9797      IF( neuler == 0 .AND. kt == nit000 ) THEN     ! at nit000 
    98          r2dtra(:) =  rdttra(:)                          ! = rdtra (restarting with Euler time stepping) 
     98         r2dt = rdt                                 ! = rdt (restarting with Euler time stepping) 
    9999      ELSEIF( kt <= nit000 + 1) THEN                ! at nit000 or nit000+1 
    100          r2dtra(:) = 2._wp * rdttra(:)                   ! = 2 rdttra (leapfrog) 
     100         r2dt = 2._wp * rdt                         ! = 2 rdt (leapfrog) 
    101101      ENDIF 
    102102      ! 
     
    135135         CALL tra_adv_cen    ( kt, nit000, 'TRA',         zun, zvn, zwn     , tsn, tsa, jpts, nn_cen_h, nn_cen_v ) 
    136136      CASE ( np_FCT )                                    ! FCT scheme      : 2nd / 4th order 
    137          CALL tra_adv_fct    ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts, nn_fct_h, nn_fct_v ) 
     137         CALL tra_adv_fct    ( kt, nit000, 'TRA', r2dt, zun, zvn, zwn, tsb, tsn, tsa, jpts, nn_fct_h, nn_fct_v ) 
    138138      CASE ( np_FCT_zts )                                ! 2nd order FCT with vertical time-splitting 
    139          CALL tra_adv_fct_zts( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts        , nn_fct_zts ) 
     139         CALL tra_adv_fct_zts( kt, nit000, 'TRA', r2dt, zun, zvn, zwn, tsb, tsn, tsa, jpts        , nn_fct_zts ) 
    140140      CASE ( np_MUS )                                    ! MUSCL 
    141          CALL tra_adv_mus    ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb,      tsa, jpts        , ln_mus_ups )  
     141         CALL tra_adv_mus    ( kt, nit000, 'TRA', r2dt, zun, zvn, zwn, tsb,      tsa, jpts        , ln_mus_ups )  
    142142      CASE ( np_UBS )                                    ! UBS 
    143          CALL tra_adv_ubs    ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts        , nn_ubs_v   ) 
     143         CALL tra_adv_ubs    ( kt, nit000, 'TRA', r2dt, zun, zvn, zwn, tsb, tsn, tsa, jpts        , nn_ubs_v   ) 
    144144      CASE ( np_QCK )                                    ! QUICKEST 
    145          CALL tra_adv_qck    ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts                     ) 
     145         CALL tra_adv_qck    ( kt, nit000, 'TRA', r2dt, zun, zvn, zwn, tsb, tsn, tsa, jpts                     ) 
    146146      ! 
    147147      END SELECT 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_fct.F90

    r5930 r6051  
    7070      INTEGER                              , INTENT(in   ) ::   kn_fct_h        ! order of the FCT scheme (=2 or 4) 
    7171      INTEGER                              , INTENT(in   ) ::   kn_fct_v        ! order of the FCT scheme (=2 or 4) 
    72       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
     72      REAL(wp)                             , INTENT(in   ) ::   p2dt            ! tracer time-step 
    7373      REAL(wp), DIMENSION(jpi,jpj,jpk     ), INTENT(in   ) ::   pun, pvn, pwn   ! 3 ocean velocity components 
    7474      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in   ) ::   ptb, ptn        ! before and now tracer fields 
     
    7676      ! 
    7777      INTEGER  ::   ji, jj, jk, jn                           ! dummy loop indices   
    78       REAL(wp) ::   z2dtt, ztra                              ! local scalar 
     78      REAL(wp) ::   ztra                              ! local scalar 
    7979      REAL(wp) ::   zfp_ui, zfp_vj, zfp_wk, zC2t_u, zC4t_u   !   -      - 
    8080      REAL(wp) ::   zfm_ui, zfm_vj, zfm_wk, zC2t_v, zC4t_v   !   -      - 
     
    149149         !                
    150150         DO jk = 1, jpkm1     !* trend and after field with monotonic scheme 
    151             z2dtt = p2dt(jk) 
    152151            DO jj = 2, jpjm1 
    153152               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    159158!!gm why tmask added in the two following lines ???    the mask is done in tranxt ! 
    160159                  pta(ji,jj,jk,jn) =   pta(ji,jj,jk,jn)         + ztra   * tmask(ji,jj,jk) 
    161                   zwi(ji,jj,jk)    = ( ptb(ji,jj,jk,jn) + z2dtt * ztra ) * tmask(ji,jj,jk) 
     160                  zwi(ji,jj,jk)    = ( ptb(ji,jj,jk,jn) + p2dt * ztra ) * tmask(ji,jj,jk) 
    162161               END DO 
    163162            END DO 
     
    348347      INTEGER                              , INTENT(in   ) ::   kjpt            ! number of tracers 
    349348      INTEGER                              , INTENT(in   ) ::   kn_fct_zts      ! number of number of vertical sub-timesteps 
    350       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
     349      REAL(wp)                             , INTENT(in   ) ::   p2dt            ! tracer time-step 
    351350      REAL(wp), DIMENSION(jpi,jpj,jpk     ), INTENT(in   ) ::   pun, pvn, pwn   ! 3 ocean velocity components 
    352351      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in   ) ::   ptb, ptn        ! before and now tracer fields 
     
    354353      ! 
    355354      REAL(wp), DIMENSION( jpk )                           ::   zts             ! length of sub-timestep for vertical advection 
    356       REAL(wp), DIMENSION( jpk )                           ::   zr_p2dt         ! reciprocal of tracer timestep 
     355      REAL(wp)                                             ::   zr_p2dt         ! reciprocal of tracer timestep 
    357356      INTEGER  ::   ji, jj, jk, jl, jn       ! dummy loop indices   
    358357      INTEGER  ::   jtb, jtn, jta   ! sub timestep pointers for leap-frog/euler forward steps 
    359358      INTEGER  ::   jtaken          ! toggle for collecting appropriate fluxes from sub timesteps 
    360359      REAL(wp) ::   z_rzts          ! Fractional length of Euler forward sub-timestep for vertical advection 
    361       REAL(wp) ::   z2dtt, ztra              ! local scalar 
     360      REAL(wp) ::   ztra              ! local scalar 
    362361      REAL(wp) ::   zfp_ui, zfp_vj, zfp_wk   !   -      - 
    363362      REAL(wp) ::   zfm_ui, zfm_vj, zfm_wk   !   -      - 
     
    390389      zwi(:,:,:) = 0._wp 
    391390      z_rzts = 1._wp / REAL( kn_fct_zts, wp ) 
    392       zr_p2dt(:) = 1._wp / p2dt(:) 
     391      zr_p2dt = 1._wp / p2dt 
    393392      ! 
    394393      !                                                          ! =========== 
     
    443442         ! 
    444443         DO jk = 1, jpkm1         ! total advective trend 
    445             z2dtt = p2dt(jk) 
    446444            DO jj = 2, jpjm1 
    447445               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    452450                  ! update and guess with monotonic sheme 
    453451                  pta(ji,jj,jk,jn) =   pta(ji,jj,jk,jn)         + ztra 
    454                   zwi(ji,jj,jk)    = ( ptb(ji,jj,jk,jn) + z2dtt * ztra ) * tmask(ji,jj,jk) 
     452                  zwi(ji,jj,jk)    = ( ptb(ji,jj,jk,jn) + p2dt * ztra ) * tmask(ji,jj,jk) 
    455453               END DO 
    456454            END DO 
     
    508506            IF( jl == 1 ) THEN                        ! Euler forward to kick things off 
    509507               jtb = 1   ;   jtn = 1   ;   jta = 2 
    510                zts(:) = p2dt(:) * z_rzts 
     508               zts(:) = p2dt * z_rzts 
    511509               jtaken = MOD( kn_fct_zts + 1 , 2)            ! Toggle to collect every second flux 
    512510               !                                            ! starting at jl =1 if kn_fct_zts is odd;  
     
    514512            ELSEIF( jl == 2 ) THEN                    ! First leapfrog step 
    515513               jtb = 1   ;   jtn = 2   ;   jta = 3 
    516                zts(:) = 2._wp * p2dt(:) * z_rzts 
     514               zts(:) = 2._wp * p2dt * z_rzts 
    517515            ELSE                                      ! Shuffle pointers for subsequent leapfrog steps 
    518516               jtb = MOD(jtb,3) + 1 
     
    557555            DO jj = 2, jpjm1 
    558556               DO ji = fs_2, fs_jpim1 
    559                   zwz(ji,jj,jk) = ( zwzts(ji,jj,jk) * zr_p2dt(jk) - zwz_sav(ji,jj,jk) ) * wmask(ji,jj,jk) 
     557                  zwz(ji,jj,jk) = ( zwzts(ji,jj,jk) * zr_p2dt - zwz_sav(ji,jj,jk) ) * wmask(ji,jj,jk) 
    560558               END DO 
    561559            END DO 
     
    623621      !!       in-space based differencing for fluid 
    624622      !!---------------------------------------------------------------------- 
    625       REAL(wp), DIMENSION(jpk)         , INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
     623      REAL(wp)                         , INTENT(in   ) ::   p2dt            ! tracer time-step 
    626624      REAL(wp), DIMENSION (jpi,jpj,jpk), INTENT(in   ) ::   pbef, paft      ! before & after field 
    627625      REAL(wp), DIMENSION (jpi,jpj,jpk), INTENT(inout) ::   paa, pbb, pcc   ! monotonic fluxes in the 3 directions 
     
    629627      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    630628      INTEGER  ::   ikm1         ! local integer 
    631       REAL(wp) ::   zpos, zneg, zbt, za, zb, zc, zbig, zrtrn, z2dtt   ! local scalars 
     629      REAL(wp) ::   zpos, zneg, zbt, za, zb, zc, zbig, zrtrn    ! local scalars 
    632630      REAL(wp) ::   zau, zbu, zcu, zav, zbv, zcv, zup, zdo            !   -      - 
    633631      REAL(wp), POINTER, DIMENSION(:,:,:) :: zbetup, zbetdo, zbup, zbdo 
     
    652650      DO jk = 1, jpkm1 
    653651         ikm1 = MAX(jk-1,1) 
    654          z2dtt = p2dt(jk) 
    655652         DO jj = 2, jpjm1 
    656653            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    679676 
    680677               ! up & down beta terms 
    681                zbt = e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) / z2dtt 
     678               zbt = e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) / p2dt 
    682679               zbetup(ji,jj,jk) = ( zup            - paft(ji,jj,jk) ) / ( zpos + zrtrn ) * zbt 
    683680               zbetdo(ji,jj,jk) = ( paft(ji,jj,jk) - zdo            ) / ( zneg + zrtrn ) * zbt 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_mus.F90

    r5930 r6051  
    7373      INTEGER                              , INTENT(in   ) ::   kjpt            ! number of tracers 
    7474      LOGICAL                              , INTENT(in   ) ::   ld_msc_ups      ! use upstream scheme within muscl 
    75       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
     75      REAL(wp)                             , INTENT(in   ) ::   p2dt            ! tracer time-step 
    7676      REAL(wp), DIMENSION(jpi,jpj,jpk     ), INTENT(in   ) ::   pun, pvn, pwn   ! 3 ocean velocity components 
    7777      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in   ) ::   ptb             ! before tracer field 
     
    8282      REAL(wp) ::   zu, z0u, zzwx, zw    ! local scalars 
    8383      REAL(wp) ::   zv, z0v, zzwy, z0w   !   -      - 
    84       REAL(wp) ::   zdt, zalpha          !   -      - 
     84      REAL(wp) ::   zalpha          !   -      - 
    8585      REAL(wp), POINTER, DIMENSION(:,:,:) ::   zslpx, zslpy   ! 3D workspace 
    8686      REAL(wp), POINTER, DIMENSION(:,:,:) ::   zwx  , zwy     ! -      -  
     
    163163         !                                             !-- MUSCL horizontal advective fluxes 
    164164         DO jk = 1, jpkm1                                     ! interior values 
    165             zdt  = p2dt(jk) 
    166165            DO jj = 2, jpjm1 
    167166               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    169168                  z0u = SIGN( 0.5, pun(ji,jj,jk) ) 
    170169                  zalpha = 0.5 - z0u 
    171                   zu  = z0u - 0.5 * pun(ji,jj,jk) * zdt / ( e1e2u(ji,jj) * fse3u(ji,jj,jk) ) 
     170                  zu  = z0u - 0.5 * pun(ji,jj,jk) * p2dt / ( e1e2u(ji,jj) * fse3u(ji,jj,jk) ) 
    172171                  zzwx = ptb(ji+1,jj,jk,jn) + xind(ji,jj,jk) * zu * zslpx(ji+1,jj,jk) 
    173172                  zzwy = ptb(ji  ,jj,jk,jn) + xind(ji,jj,jk) * zu * zslpx(ji  ,jj,jk) 
     
    176175                  z0v = SIGN( 0.5, pvn(ji,jj,jk) ) 
    177176                  zalpha = 0.5 - z0v 
    178                   zv  = z0v - 0.5 * pvn(ji,jj,jk) * zdt / ( e1e2v(ji,jj) * fse3v(ji,jj,jk) ) 
     177                  zv  = z0v - 0.5 * pvn(ji,jj,jk) * p2dt / ( e1e2v(ji,jj) * fse3v(ji,jj,jk) ) 
    179178                  zzwx = ptb(ji,jj+1,jk,jn) + xind(ji,jj,jk) * zv * zslpy(ji,jj+1,jk) 
    180179                  zzwy = ptb(ji,jj  ,jk,jn) + xind(ji,jj,jk) * zv * zslpy(ji,jj  ,jk) 
     
    237236         !                                !-- vertical advective flux 
    238237         DO jk = 1, jpkm1                       ! interior values 
    239             zdt  = p2dt(jk) 
    240238            DO jj = 2, jpjm1       
    241239               DO ji = fs_2, fs_jpim1   ! vector opt. 
    242240                  z0w = SIGN( 0.5, pwn(ji,jj,jk+1) ) 
    243241                  zalpha = 0.5 + z0w 
    244                   zw  = z0w - 0.5 * pwn(ji,jj,jk+1) * zdt  / ( e1e2t(ji,jj) * fse3w(ji,jj,jk+1) ) 
     242                  zw  = z0w - 0.5 * pwn(ji,jj,jk+1) * p2dt  / ( e1e2t(ji,jj) * fse3w(ji,jj,jk+1) ) 
    245243                  zzwx = ptb(ji,jj,jk+1,jn) + xind(ji,jj,jk) * zw * zslpx(ji,jj,jk+1) 
    246244                  zzwy = ptb(ji,jj,jk  ,jn) + xind(ji,jj,jk) * zw * zslpx(ji,jj,jk  ) 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90

    r5930 r6051  
    8787      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype          ! =TRA or TRC (tracer indicator) 
    8888      INTEGER                              , INTENT(in   ) ::   kjpt            ! number of tracers 
    89       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
     89      REAL(wp)                             , INTENT(in   ) ::   p2dt            ! tracer time-step 
    9090      REAL(wp), DIMENSION(jpi,jpj,jpk     ), INTENT(in   ) ::   pun, pvn, pwn   ! 3 ocean velocity components 
    9191      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in   ) ::   ptb, ptn        ! before and now tracer fields 
     
    125125      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype     ! =TRA or TRC (tracer indicator) 
    126126      INTEGER                              , INTENT(in   ) ::   kjpt       ! number of tracers 
    127       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt       ! vertical profile of tracer time-step 
     127      REAL(wp)                             , INTENT(in   ) ::   p2dt       ! tracer time-step 
    128128      REAL(wp), DIMENSION(jpi,jpj,jpk     ), INTENT(in   ) ::   pun        ! i-velocity components 
    129129      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in   ) ::   ptb, ptn   ! before and now tracer fields 
     
    131131      !! 
    132132      INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices 
    133       REAL(wp) ::   ztra, zbtr, zdir, zdx, zdt, zmsk   ! local scalars 
     133      REAL(wp) ::   ztra, zbtr, zdir, zdx, zmsk   ! local scalars 
    134134      REAL(wp), POINTER, DIMENSION(:,:,:) ::   zwx, zfu, zfc, zfd 
    135135      !---------------------------------------------------------------------- 
     
    166166         ! 
    167167         DO jk = 1, jpkm1   
    168             zdt =  p2dt(jk) 
    169168            DO jj = 2, jpjm1 
    170169               DO ji = fs_2, fs_jpim1   ! vector opt.    
    171170                  zdir = 0.5 + SIGN( 0.5, pun(ji,jj,jk) )   ! if pun > 0 : zdir = 1 otherwise zdir = 0  
    172171                  zdx = ( zdir * e1t(ji,jj) + ( 1. - zdir ) * e1t(ji+1,jj) ) * e2u(ji,jj) * fse3u(ji,jj,jk) 
    173                   zwx(ji,jj,jk)  = ABS( pun(ji,jj,jk) ) * zdt / zdx    ! (0<zc_cfl<1 : Courant number on x-direction) 
     172                  zwx(ji,jj,jk)  = ABS( pun(ji,jj,jk) ) * p2dt / zdx    ! (0<zc_cfl<1 : Courant number on x-direction) 
    174173                  zfc(ji,jj,jk)  = zdir * ptb(ji  ,jj,jk,jn) + ( 1. - zdir ) * ptb(ji+1,jj,jk,jn)  ! FC in the x-direction for T 
    175174                  zfd(ji,jj,jk)  = zdir * ptb(ji+1,jj,jk,jn) + ( 1. - zdir ) * ptb(ji  ,jj,jk,jn)  ! FD in the x-direction for T 
     
    242241      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype     ! =TRA or TRC (tracer indicator) 
    243242      INTEGER                              , INTENT(in   ) ::   kjpt       ! number of tracers 
    244       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt       ! vertical profile of tracer time-step 
     243      REAL(wp)                             , INTENT(in   ) ::   p2dt       ! tracer time-step 
    245244      REAL(wp), DIMENSION(jpi,jpj,jpk     ), INTENT(in   ) ::   pvn        ! j-velocity components 
    246245      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in   ) ::   ptb, ptn   ! before and now tracer fields 
     
    248247      !! 
    249248      INTEGER  :: ji, jj, jk, jn   ! dummy loop indices 
    250       REAL(wp) :: ztra, zbtr, zdir, zdx, zdt, zmsk   ! local scalars 
     249      REAL(wp) :: ztra, zbtr, zdir, zdx, zmsk   ! local scalars 
    251250      REAL(wp), POINTER, DIMENSION(:,:,:) :: zwy, zfu, zfc, zfd 
    252251      !---------------------------------------------------------------------- 
     
    289288         ! 
    290289         DO jk = 1, jpkm1   
    291             zdt =  p2dt(jk) 
    292290            DO jj = 2, jpjm1 
    293291               DO ji = fs_2, fs_jpim1   ! vector opt.    
    294292                  zdir = 0.5 + SIGN( 0.5, pvn(ji,jj,jk) )   ! if pun > 0 : zdir = 1 otherwise zdir = 0  
    295293                  zdx = ( zdir * e2t(ji,jj) + ( 1. - zdir ) * e2t(ji,jj+1) ) * e1v(ji,jj) * fse3v(ji,jj,jk) 
    296                   zwy(ji,jj,jk)  = ABS( pvn(ji,jj,jk) ) * zdt / zdx    ! (0<zc_cfl<1 : Courant number on x-direction) 
     294                  zwy(ji,jj,jk)  = ABS( pvn(ji,jj,jk) ) * p2dt / zdx    ! (0<zc_cfl<1 : Courant number on x-direction) 
    297295                  zfc(ji,jj,jk)  = zdir * ptb(ji,jj  ,jk,jn) + ( 1. - zdir ) * ptb(ji,jj+1,jk,jn)  ! FC in the x-direction for T 
    298296                  zfd(ji,jj,jk)  = zdir * ptb(ji,jj+1,jk,jn) + ( 1. - zdir ) * ptb(ji,jj  ,jk,jn)  ! FD in the x-direction for T 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_ubs.F90

    r5930 r6051  
    8585      INTEGER                              , INTENT(in   ) ::   kjpt            ! number of tracers 
    8686      INTEGER                              , INTENT(in   ) ::   kn_ubs_v        ! number of tracers 
    87       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
     87      REAL(wp)                             , INTENT(in   ) ::   p2dt            ! tracer time-step 
    8888      REAL(wp), DIMENSION(jpi,jpj,jpk     ), INTENT(in   ) ::   pun, pvn, pwn   ! 3 ocean transport components 
    8989      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in   ) ::   ptb, ptn        ! before and now tracer fields 
     
    9191      ! 
    9292      INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices 
    93       REAL(wp) ::   ztra, zbtr, zcoef, z2dtt                       ! local scalars 
     93      REAL(wp) ::   ztra, zbtr, zcoef                       ! local scalars 
    9494      REAL(wp) ::   zfp_ui, zfm_ui, zcenut, ztak, zfp_wk, zfm_wk   !   -      - 
    9595      REAL(wp) ::   zfp_vj, zfm_vj, zcenvt, zeeu, zeev, z_hdivn    !   -      - 
     
    212212            ! 
    213213            DO jk = 1, jpkm1           !* trend and after field with monotonic scheme 
    214                z2dtt = p2dt(jk) 
    215214               DO jj = 2, jpjm1 
    216215                  DO ji = fs_2, fs_jpim1   ! vector opt. 
    217216                     ztak = - ( ztw(ji,jj,jk) - ztw(ji,jj,jk+1) ) / ( e1e2t(ji,jj) * fse3t_n(ji,jj,jk) ) 
    218217                     pta(ji,jj,jk,jn) =   pta(ji,jj,jk,jn) +  ztak  
    219                      zti(ji,jj,jk)    = ( ptb(ji,jj,jk,jn) + z2dtt * ( ztak + zltu(ji,jj,jk) ) ) * tmask(ji,jj,jk) 
     218                     zti(ji,jj,jk)    = ( ptb(ji,jj,jk,jn) + p2dt * ( ztak + zltu(ji,jj,jk) ) ) * tmask(ji,jj,jk) 
    220219                  END DO 
    221220               END DO 
     
    293292      !!       in-space based differencing for fluid 
    294293      !!---------------------------------------------------------------------- 
    295       REAL(wp), INTENT(in   ), DIMENSION(jpk)          ::   p2dt   ! vertical profile of tracer time-step 
     294      REAL(wp), INTENT(in   )                          ::   p2dt   ! tracer time-step 
    296295      REAL(wp),                DIMENSION (jpi,jpj,jpk) ::   pbef   ! before field 
    297296      REAL(wp), INTENT(inout), DIMENSION (jpi,jpj,jpk) ::   paft   ! after field 
     
    300299      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    301300      INTEGER  ::   ikm1         ! local integer 
    302       REAL(wp) ::   zpos, zneg, zbt, za, zb, zc, zbig, zrtrn, z2dtt   ! local scalars 
     301      REAL(wp) ::   zpos, zneg, zbt, za, zb, zc, zbig, zrtrn   ! local scalars 
    303302      REAL(wp), POINTER, DIMENSION(:,:,:) :: zbetup, zbetdo 
    304303      !!---------------------------------------------------------------------- 
     
    349348      ! --------------------------------------------------- 
    350349      DO jk = 1, jpkm1 
    351          z2dtt = p2dt(jk) 
    352350         DO jj = 2, jpjm1 
    353351            DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    356354               zneg = MAX( 0., pcc(ji  ,jj  ,jk  ) ) - MIN( 0., pcc(ji  ,jj  ,jk+1) ) 
    357355               ! up & down beta terms 
    358                zbt = e1e2t(ji,jj) * fse3t(ji,jj,jk) / z2dtt 
     356               zbt = e1e2t(ji,jj) * fse3t(ji,jj,jk) / p2dt 
    359357               zbetup(ji,jj,jk) = ( zbetup(ji,jj,jk) - paft(ji,jj,jk) ) / (zpos+zrtrn) * zbt 
    360358               zbetdo(ji,jj,jk) = ( paft(ji,jj,jk) - zbetdo(ji,jj,jk) ) / (zneg+zrtrn) * zbt 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90

    r5836 r6051  
    129129      ! 
    130130      !                                               ! set time step size (Euler/Leapfrog) 
    131       IF( neuler == 0 .AND. kt == nit000 ) THEN   ;   z2dt =     rdttra(1)      ! at nit000   (Euler) 
    132       ELSE                                        ;   z2dt = 2.* rdttra(1)      !             (Leapfrog) 
     131      IF( neuler == 0 .AND. kt == nit000 ) THEN   ;   z2dt =     rdt      ! at nit000   (Euler) 
     132      ELSE                                        ;   z2dt = 2.* rdt      !             (Leapfrog) 
    133133      ENDIF 
    134134      z1_2dt = 1._wp / z2dt 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_triad.F90

    r5836 r6051  
    115115      ! 
    116116      !                                               ! set time step size (Euler/Leapfrog) 
    117       IF( neuler == 0 .AND. kt == kit000 ) THEN   ;   z2dt =     rdttra(1)      ! at nit000   (Euler) 
    118       ELSE                                        ;   z2dt = 2.* rdttra(1)      !             (Leapfrog) 
     117      IF( neuler == 0 .AND. kt == kit000 ) THEN   ;   z2dt =     rdt      ! at nit000   (Euler) 
     118      ELSE                                        ;   z2dt = 2.* rdt      !             (Leapfrog) 
    119119      ENDIF 
    120120      z1_2dt = 1._wp / z2dt 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRA/tranxt.F90

    r5930 r6051  
    119119  
    120120      ! set time step size (Euler/Leapfrog) 
    121       IF( neuler == 0 .AND. kt == nit000 ) THEN   ;   r2dtra(:) =     rdttra(:)      ! at nit000             (Euler) 
    122       ELSEIF( kt <= nit000 + 1 )           THEN   ;   r2dtra(:) = 2._wp* rdttra(:)      ! at nit000 or nit000+1 (Leapfrog) 
     121      IF( neuler == 0 .AND. kt == nit000 ) THEN   ;   r2dt =     rdt      ! at nit000             (Euler) 
     122      ELSEIF( kt <= nit000 + 1 )           THEN   ;   r2dt = 2._wp* rdt   ! at nit000 or nit000+1 (Leapfrog) 
    123123      ENDIF 
    124124 
     
    142142      ELSE                                            ! Leap-Frog + Asselin filter time stepping 
    143143         ! 
    144          IF( lk_vvl )  THEN   ;   CALL tra_nxt_vvl( kt, nit000, rdttra, 'TRA', tsb, tsn, tsa,   & 
     144         IF( lk_vvl )  THEN   ;   CALL tra_nxt_vvl( kt, nit000, rdt, 'TRA', tsb, tsn, tsa,   & 
    145145           &                                                              sbc_tsc, sbc_tsc_b, jpts )  ! variable volume level (vvl)  
    146          ELSE                 ;   CALL tra_nxt_fix( kt, nit000,         'TRA', tsb, tsn, tsa, jpts )  ! fixed    volume level  
     146         ELSE                 ;   CALL tra_nxt_fix( kt, nit000,      'TRA', tsb, tsn, tsa, jpts )  ! fixed    volume level  
    147147         ENDIF 
    148148      ENDIF      
     
    151151      IF( l_trdtra ) THEN      ! trend of the Asselin filter (tb filtered - tb)/dt      
    152152         DO jk = 1, jpkm1 
    153             zfact = 1._wp / r2dtra(jk)              
     153            zfact = 1._wp / r2dt              
    154154            ztrdt(:,:,jk) = ( tsb(:,:,jk,jp_tem) - ztrdt(:,:,jk) ) * zfact 
    155155            ztrds(:,:,jk) = ( tsb(:,:,jk,jp_sal) - ztrds(:,:,jk) ) * zfact 
     
    237237      INTEGER         , INTENT(in   )                               ::  kt       ! ocean time-step index 
    238238      INTEGER         , INTENT(in   )                               ::  kit000   ! first time step index 
    239       REAL(wp)        , INTENT(in   ), DIMENSION(jpk)               ::  p2dt     ! time-step 
     239      REAL(wp)        , INTENT(in   )                               ::  p2dt     ! time-step 
    240240      CHARACTER(len=3), INTENT(in   )                               ::  cdtype   ! =TRA or TRC (tracer indicator) 
    241241      INTEGER         , INTENT(in   )                               ::  kjpt     ! number of tracers 
     
    275275      DO jn = 1, kjpt       
    276276         DO jk = 1, jpkm1 
    277             zfact1 = atfp * p2dt(jk) 
     277            zfact1 = atfp * p2dt 
    278278            zfact2 = zfact1 / rau0 
    279279            DO jj = 1, jpj 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf.F90

    r5930 r6051  
    6868      ! 
    6969      IF( neuler == 0 .AND. kt == nit000 ) THEN     ! at nit000 
    70          r2dtra(:) =  rdttra(:)                          ! = rdtra (restarting with Euler time stepping) 
     70         r2dt =  rdt                          ! = rdt (restarting with Euler time stepping) 
    7171      ELSEIF( kt <= nit000 + 1) THEN                ! at nit000 or nit000+1 
    72          r2dtra(:) = 2. * rdttra(:)                      ! = 2 rdttra (leapfrog) 
     72         r2dt = 2. * rdt                      ! = 2 rdt (leapfrog) 
    7373      ENDIF 
    7474 
     
    8080 
    8181      SELECT CASE ( nzdf )                       ! compute lateral mixing trend and add it to the general trend 
    82       CASE ( 0 )    ;    CALL tra_zdf_exp( kt, nit000, 'TRA', r2dtra, nn_zdfexp, tsb, tsa, jpts )  !   explicit scheme  
    83       CASE ( 1 )    ;    CALL tra_zdf_imp( kt, nit000, 'TRA', r2dtra,            tsb, tsa, jpts )  !   implicit scheme  
     82      CASE ( 0 )    ;    CALL tra_zdf_exp( kt, nit000, 'TRA', r2dt, nn_zdfexp, tsb, tsa, jpts )  !   explicit scheme  
     83      CASE ( 1 )    ;    CALL tra_zdf_imp( kt, nit000, 'TRA', r2dt,            tsb, tsa, jpts )  !   implicit scheme  
    8484      END SELECT 
    8585!!gm WHY here !   and I don't like that ! 
     
    9292      IF( l_trdtra )   THEN                      ! save the vertical diffusive trends for further diagnostics 
    9393         DO jk = 1, jpkm1 
    94             ztrdt(:,:,jk) = ( ( tsa(:,:,jk,jp_tem) - tsb(:,:,jk,jp_tem) ) / r2dtra(jk) ) - ztrdt(:,:,jk) 
    95             ztrds(:,:,jk) = ( ( tsa(:,:,jk,jp_sal) - tsb(:,:,jk,jp_sal) ) / r2dtra(jk) ) - ztrds(:,:,jk) 
     94            ztrdt(:,:,jk) = ( ( tsa(:,:,jk,jp_tem) - tsb(:,:,jk,jp_tem) ) / r2dt ) - ztrdt(:,:,jk) 
     95            ztrds(:,:,jk) = ( ( tsa(:,:,jk,jp_sal) - tsb(:,:,jk,jp_sal) ) / r2dt ) - ztrds(:,:,jk) 
    9696         END DO 
    9797!!gm this should be moved in trdtra.F90 and done on all trends 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf_exp.F90

    r3294 r6051  
    8181      INTEGER                              , INTENT(in   ) ::   kjpt        ! number of tracers 
    8282      INTEGER                              , INTENT(in   ) ::   kn_zdfexp   ! number of sub-time step 
    83       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt        ! vertical profile of tracer time-step 
     83      REAL(wp)                             , INTENT(in   ) ::   p2dt        ! tracer time-step 
    8484      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in   ) ::   ptb         ! before and now tracer fields 
    8585      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) ::   pta         ! tracer trend  
     
    136136                  DO ji = fs_2, fs_jpim1   ! vector opt. 
    137137                     ze3tr = zlavmr / fse3t_n(ji,jj,jk) 
    138                      zwx(ji,jj,jk) = zwx(ji,jj,jk) + p2dt(jk) * ( zwy(ji,jj,jk) - zwy(ji,jj,jk+1) ) * ze3tr 
     138                     zwx(ji,jj,jk) = zwx(ji,jj,jk) + p2dt * ( zwy(ji,jj,jk) - zwy(ji,jj,jk+1) ) * ze3tr 
    139139                  END DO 
    140140               END DO 
     
    150150                  DO ji = fs_2, fs_jpim1   ! vector opt. 
    151151                     ze3tb = fse3t_b(ji,jj,jk) / fse3t(ji,jj,jk)                          ! before e3t 
    152                      ztra  = zwx(ji,jj,jk) - ptb(ji,jj,jk,jn) + p2dt(jk) * pta(ji,jj,jk,jn)       ! total trends * 2*rdt  
     152                     ztra  = zwx(ji,jj,jk) - ptb(ji,jj,jk,jn) + p2dt * pta(ji,jj,jk,jn)       ! total trends * 2*rdt 
    153153                     pta(ji,jj,jk,jn) = ( ze3tb * ptb(ji,jj,jk,jn) + ztra ) * tmask(ji,jj,jk) 
    154154                  END DO 
     
    159159               DO jj = 2, jpjm1  
    160160                  DO ji = fs_2, fs_jpim1   ! vector opt. 
    161                      pta(ji,jj,jk,jn) = ( zwx(ji,jj,jk) + p2dt(jk) * pta(ji,jj,jk,jn) ) * tmask(ji,jj,jk) 
     161                     pta(ji,jj,jk,jn) = ( zwx(ji,jj,jk) + p2dt * pta(ji,jj,jk,jn) ) * tmask(ji,jj,jk) 
    162162                  END DO 
    163163               END DO 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf_imp.F90

    r5836 r6051  
    7878      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype   ! =TRA or TRC (tracer indicator) 
    7979      INTEGER                              , INTENT(in   ) ::   kjpt     ! number of tracers 
    80       REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt     ! vertical profile of tracer time-step 
     80      REAL(wp)                             , INTENT(in   ) ::   p2dt     ! tracer time-step 
    8181      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in   ) ::   ptb      ! before and now tracer fields 
    8282      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) ::   pta      ! tracer trend  
     
    144144                     ze3ta =  ( 1. - r_vvl ) +        r_vvl   * fse3t_a(ji,jj,jk)   ! after scale factor at T-point 
    145145                     ze3tn =         r_vvl   + ( 1. - r_vvl ) * fse3t_n(ji,jj,jk)   ! now   scale factor at T-point 
    146                      zwi(ji,jj,jk) = - p2dt(jk) * zwt(ji,jj,jk  ) / ( ze3tn * fse3w(ji,jj,jk  ) ) 
    147                      zws(ji,jj,jk) = - p2dt(jk) * zwt(ji,jj,jk+1) / ( ze3tn * fse3w(ji,jj,jk+1) ) 
     146                     zwi(ji,jj,jk) = - p2dt * zwt(ji,jj,jk  ) / ( ze3tn * fse3w(ji,jj,jk  ) ) 
     147                     zws(ji,jj,jk) = - p2dt * zwt(ji,jj,jk+1) / ( ze3tn * fse3w(ji,jj,jk+1) ) 
    148148                     zwd(ji,jj,jk) = ze3ta - zwi(ji,jj,jk) - zws(ji,jj,jk) 
    149149                 END DO 
     
    192192               ze3tb = ( 1. - r_vvl ) + r_vvl * fse3t_b(ji,jj,1) 
    193193               ze3tn = ( 1. - r_vvl ) + r_vvl * fse3t(ji,jj,1) 
    194                pta(ji,jj,1,jn) = ze3tb * ptb(ji,jj,1,jn) + p2dt(1) * ze3tn * pta(ji,jj,1,jn) 
     194               pta(ji,jj,1,jn) = ze3tb * ptb(ji,jj,1,jn) + p2dt * ze3tn * pta(ji,jj,1,jn) 
    195195            END DO 
    196196         END DO 
     
    200200                  ze3tb = ( 1. - r_vvl ) + r_vvl * fse3t_b(ji,jj,jk) 
    201201                  ze3tn = ( 1. - r_vvl ) + r_vvl * fse3t  (ji,jj,jk) 
    202                   zrhs = ze3tb * ptb(ji,jj,jk,jn) + p2dt(jk) * ze3tn * pta(ji,jj,jk,jn)   ! zrhs=right hand side  
     202                  zrhs = ze3tb * ptb(ji,jj,jk,jn) + p2dt * ze3tn * pta(ji,jj,jk,jn)   ! zrhs=right hand side  
    203203                  pta(ji,jj,jk,jn) = zrhs - zwi(ji,jj,jk) / zwt(ji,jj,jk-1) * pta(ji,jj,jk-1,jn) 
    204204               END DO 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRD/trdmxl.F90

    r5836 r6051  
    3030   USE zdfddm          ! ocean vertical physics: double diffusion 
    3131   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    32    USE diadimg         ! dimg direct access file format output 
    3332   USE trdmxl_rst      ! restart for diagnosing the ML trends 
    3433   ! 
     
    298297      !!  
    299298      !! ** Purpose :  Compute and cumulate the mixed layer trends over an analysis 
    300       !!               period, and write NetCDF (or dimg) outputs. 
     299      !!               period, and write NetCDF outputs. 
    301300      !! 
    302301      !! ** Method/usage : 
     
    349348      REAL(wp), POINTER, DIMENSION(:,:  ) ::  ztmltot2, zsmltot2, ztmlres2, zsmlres2, ztmlatf2, zsmlatf2, ztmltrdm2, zsmltrdm2   
    350349      REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztmltrd2, zsmltrd2   ! only needed for mean diagnostics 
    351 #if defined key_dimgout 
    352       INTEGER ::  iyear,imon,iday 
    353       CHARACTER(LEN=80) :: cltext, clmode 
    354 #endif 
    355350      !!---------------------------------------------------------------------- 
    356351   
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRD/trdmxl_rst.F90

    r5341 r6051  
    6262            WRITE(numout,*) 
    6363            SELECT CASE ( jprstlib ) 
    64             CASE ( jprstdimg )   ;   WRITE(numout,*) '             open ocean restart_mxl binary file: '//clname 
    6564            CASE DEFAULT         ;   WRITE(numout,*) '             open ocean restart_mxl NetCDF file: '//clname 
    6665            END SELECT 
     
    147146      clpath = TRIM(cn_ocerst_indir) 
    148147      IF( clpath(LEN_TRIM(clpath):) /= '/' ) clpath = TRIM(clpath) // '/' 
    149  
    150       IF ( jprstlib == jprstdimg ) THEN 
    151          ! eventually read netcdf file (monobloc)  for restarting on different number of processors 
    152          ! if {cn_trdrst_in}.nc exists, then set jlibalt to jpnf90 
    153          INQUIRE( FILE = TRIM(clpath)//TRIM(cn_trdrst_in)//'.nc', EXIST = llok ) 
    154          IF ( llok ) THEN   ;   jlibalt = jpnf90    
    155          ELSE               ;   jlibalt = jprstlib    
    156          ENDIF 
    157       ENDIF 
    158  
    159148      CALL iom_open( TRIM(clpath)//TRIM(cn_trdrst_in), inum, kiolib = jlibalt )  
    160149 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRD/trdtra.F90

    r5836 r6051  
    3737 
    3838   PUBLIC   trd_tra   ! called by all tra_... modules 
    39  
    40    REAL(wp) ::   r2dt   ! time-step, = 2 rdttra except at nit000 (=rdttra) if neuler=0 
    4139 
    4240   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   trdtx, trdty, trdt   ! use to store the temperature trends 
     
    229227      !!---------------------------------------------------------------------- 
    230228 
    231       IF( neuler == 0 .AND. kt == nit000    ) THEN   ;   r2dt =      rdt      ! = rdtra (restart with Euler time stepping) 
    232       ELSEIF(               kt <= nit000 + 1) THEN   ;   r2dt = 2. * rdt      ! = 2 rdttra (leapfrog) 
     229      IF( neuler == 0 .AND. kt == nit000    ) THEN   ;   r2dt =      rdt      ! = rdt (restart with Euler time stepping) 
     230      ELSEIF(               kt <= nit000 + 1) THEN   ;   r2dt = 2. * rdt      ! = 2 rdt (leapfrog) 
    233231      ENDIF 
    234232 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRD/trdvor.F90

    r5836 r6051  
    8585      !!  
    8686      !! ** Purpose :  computation of cumulated trends over analysis period 
    87       !!               and make outputs (NetCDF or DIMG format) 
     87      !!               and make outputs (NetCDF format) 
    8888      !!---------------------------------------------------------------------- 
    8989      REAL(wp), DIMENSION(:,:,:), INTENT(inout) ::   putrd, pvtrd   ! U and V trends  
     
    318318      !!  
    319319      !! ** Purpose :  computation of cumulated trends over analysis period 
    320       !!               and make outputs (NetCDF or DIMG format) 
     320      !!               and make outputs (NetCDF format) 
    321321      !!---------------------------------------------------------------------- 
    322322      INTEGER                   , INTENT(in   ) ::   kt             ! time step 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/SAS_SRC/daymod.F90

    r5563 r6051  
    2020   !! 
    2121   !!   we suppose that the time step is deviding the number of second of in a day 
    22    !!             ---> MOD( rday, rdttra(1) ) == 0 
     22   !!             ---> MOD( rday, rdt ) == 0 
    2323   !! 
    2424   !!           ----------- WARNING ----------- 
     
    7676            &           'You must do a restart at higher frequency (or remove this stop and recompile the code in I8)' ) 
    7777      ENDIF 
    78       ! all calendar staff is based on the fact that MOD( rday, rdttra(1) ) == 0 
    79       IF( MOD( rday     , rdttra(1) ) /= 0. )   CALL ctl_stop( 'the time step must devide the number of second of in a day' ) 
    80       IF( MOD( rday     , 2.        ) /= 0. )   CALL ctl_stop( 'the number of second of in a day must be an even number'    ) 
    81       IF( MOD( rdttra(1), 2.        ) /= 0. )   CALL ctl_stop( 'the time step (in second) must be an even number'           ) 
    82       nsecd   = NINT(rday           ) 
    83       nsecd05 = NINT(0.5 * rday     ) 
    84       ndt     = NINT(      rdttra(1)) 
    85       ndt05   = NINT(0.5 * rdttra(1)) 
     78      ! all calendar staff is based on the fact that MOD( rday, rdt ) == 0 
     79      IF( MOD( rday , rdt ) /= 0. )   CALL ctl_stop( 'the time step must devide the number of second of in a day' ) 
     80      IF( MOD( rday , 2.  ) /= 0. )   CALL ctl_stop( 'the number of second of in a day must be an even number'    ) 
     81      IF( MOD( rdt  , 2.  ) /= 0. )   CALL ctl_stop( 'the time step (in second) must be an even number'           ) 
     82      nsecd   = NINT(rday         ) 
     83      nsecd05 = NINT(0.5 * rday   ) 
     84      ndt     = NINT(      rdt    ) 
     85      ndt05   = NINT(0.5 * rdt    ) 
    8686 
    8787      ! ==> clem: here we read the ocean restart for the date (only if it exists) 
     
    224224      nsec_week  = nsec_week  + ndt 
    225225      nsec_day   = nsec_day   + ndt                 
    226       adatrj  = adatrj  + rdttra(1) / rday 
    227       fjulday = fjulday + rdttra(1) / rday 
     226      adatrj  = adatrj  + rdt / rday 
     227      fjulday = fjulday + rdt / rday 
    228228      IF( ABS(fjulday - REAL(NINT(fjulday),wp)) < zprec )   fjulday = REAL(NINT(fjulday),wp)   ! avoid truncation error 
    229229      IF( ABS(adatrj  - REAL(NINT(adatrj ),wp)) < zprec )   adatrj  = REAL(NINT(adatrj ),wp)   ! avoid truncation error 
     
    340340               ! parameters correspondting to nit000 - 1 (as we start the step loop with a call to day) 
    341341               ndastp = ndate0 - 1     ! ndate0 read in the namelist in dom_nam, we assume that we start run at 00:00 
    342                adatrj = ( REAL( nit000-1, wp ) * rdttra(1) ) / rday 
     342               adatrj = ( REAL( nit000-1, wp ) * rdt ) / rday 
    343343               ! note this is wrong if time step has changed during run 
    344344            ENDIF 
     
    346346            ! parameters correspondting to nit000 - 1 (as we start the step loop with a call to day) 
    347347            ndastp = ndate0 - 1        ! ndate0 read in the namelist in dom_nam, we assume that we start run at 00:00 
    348             adatrj = ( REAL( nit000-1, wp ) * rdttra(1) ) / rday 
     348            adatrj = ( REAL( nit000-1, wp ) * rdt ) / rday 
    349349         ENDIF 
    350350         IF( ABS(adatrj  - REAL(NINT(adatrj),wp)) < 0.1 / rday )   adatrj = REAL(NINT(adatrj),wp)   ! avoid truncation error 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/SAS_SRC/diawri.F90

    r5930 r6051  
    3636   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    3737   USE in_out_manager  ! I/O manager 
    38    USE diadimg         ! dimg direct access file format output 
    3938   USE diaar5, ONLY :   lk_diaar5 
    4039   USE iom 
     
    8180  END FUNCTION dia_wri_alloc 
    8281 
    83 #if defined key_dimgout 
    84    !!---------------------------------------------------------------------- 
    85    !!   'key_dimgout'                                      DIMG output file 
    86    !!---------------------------------------------------------------------- 
    87 #   include "diawri_dimg.h90" 
    88  
    89 #else 
    9082   !!---------------------------------------------------------------------- 
    9183   !!   Default option                                   NetCDF output file 
    9284   !!---------------------------------------------------------------------- 
    93 # if defined key_iomput 
     85#if defined key_iomput 
    9486   !!---------------------------------------------------------------------- 
    9587   !!   'key_iomput'                                        use IOM library 
     
    140132      INTEGER  ::   ierr                                     ! error code return from allocation 
    141133      INTEGER  ::   iimi, iima, ipk, it, itmod, ijmi, ijma   ! local integers 
    142       REAL(wp) ::   zsto, zout, zmax, zjulian, zdt           ! local scalars 
     134      REAL(wp) ::   zsto, zout, zmax, zjulian                ! local scalars 
    143135      !!---------------------------------------------------------------------- 
    144136      !  
     
    159151 
    160152      ! Define frequency of output and means 
    161       zdt = rdt 
    162       IF( nacc == 1 ) zdt = rdtmin 
    163153      IF( ln_mskland )   THEN   ;   clop = "only(x)"   ! put 1.e+20 on land (very expensive!!) 
    164154      ELSE                      ;   clop = "x"         ! no use of the mask value (require less cpu time) 
    165155      ENDIF 
    166156#if defined key_diainstant 
    167       zsto = nwrite * zdt 
     157      zsto = nwrite * rdt 
    168158      clop = "inst("//TRIM(clop)//")" 
    169159#else 
    170       zsto=zdt 
     160      zsto=rdt 
    171161      clop = "ave("//TRIM(clop)//")" 
    172162#endif 
    173       zout = nwrite * zdt 
    174       zmax = ( nitend - nit000 + 1 ) * zdt 
     163      zout = nwrite * rdt 
     164      zmax = ( nitend - nit000 + 1 ) * rdt 
    175165 
    176166      ! Define indices of the horizontal output zoom and vertical limit storage 
     
    214204         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit 
    215205            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       & 
    216             &          nit000-1, zjulian, zdt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set ) 
     206            &          nit000-1, zjulian, rdt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set ) 
    217207         CALL histvert( nid_T, "deptht", "Vertical T levels",      &  ! Vertical grid: gdept 
    218208            &           "m", ipk, gdept_1d, nz_T, "down" ) 
     
    226216         CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu,           &  ! Horizontal grid: glamu and gphiu 
    227217            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       & 
    228             &          nit000-1, zjulian, zdt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set ) 
     218            &          nit000-1, zjulian, rdt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set ) 
    229219         CALL histvert( nid_U, "depthu", "Vertical U levels",      &  ! Vertical grid: gdept 
    230220            &           "m", ipk, gdept_1d, nz_U, "down" ) 
     
    238228         CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv,           &  ! Horizontal grid: glamv and gphiv 
    239229            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       & 
    240             &          nit000-1, zjulian, zdt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set ) 
     230            &          nit000-1, zjulian, rdt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set ) 
    241231         CALL histvert( nid_V, "depthv", "Vertical V levels",      &  ! Vertical grid : gdept 
    242232            &          "m", ipk, gdept_1d, nz_V, "down" ) 
     
    334324      ! 
    335325   END SUBROUTINE dia_wri 
    336 # endif 
    337  
    338326#endif 
    339327 
     
    358346      INTEGER  ::   id_i , nz_i, nh_i        
    359347      INTEGER, DIMENSION(1) ::   idex             ! local workspace 
    360       REAL(wp) ::   zsto, zout, zmax, zjulian, zdt 
     348      REAL(wp) ::   zsto, zout, zmax, zjulian 
    361349      !!---------------------------------------------------------------------- 
    362350      !  
     
    369357      clname = cdfile_name 
    370358      IF( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) 
    371       zdt  = rdt 
    372359      zsto = rdt 
    373360      clop = "inst(x)"           ! no use of the mask value (require less cpu time) 
    374361      zout = rdt 
    375       zmax = ( nitend - nit000 + 1 ) * zdt 
     362      zmax = ( nitend - nit000 + 1 ) * rdt 
    376363 
    377364      IF(lwp) WRITE(numout,*) 
     
    388375      zjulian = zjulian - adatrj   !   set calendar origin to the beginning of the experiment 
    389376      CALL histbeg( clname, jpi, glamt, jpj, gphit,   & 
    390           1, jpi, 1, jpj, nit000-1, zjulian, zdt, nh_i, id_i, domain_id=nidom, snc4chunks=snc4set ) ! Horizontal grid : glamt and gphit 
     377          1, jpi, 1, jpj, nit000-1, zjulian, rdt, nh_i, id_i, domain_id=nidom, snc4chunks=snc4set ) ! Horizontal grid : glamt and gphit 
    391378      CALL histvert( id_i, "deptht", "Vertical T levels",   &    ! Vertical grid : gdept 
    392379          "m", jpk, gdept_1d, nz_i, "down") 
     
    431418      ! ----------------- 
    432419      CALL histclo( id_i ) 
    433 #if ! defined key_iomput && ! defined key_dimgout 
     420#if ! defined key_iomput 
    434421      IF( ninist /= 1  ) THEN 
    435422         CALL histclo( nid_T ) 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90

    r5836 r6051  
    9292      ! 
    9393      !                                                                    !   set time step size (Euler/Leapfrog) 
    94       IF( ( neuler == 0 .AND. kt == nittrc000 ) .OR. ln_top_euler ) THEN   ;    rfact = rdttrc(1)     !  at nittrc000 
    95       ELSEIF( kt <= nittrc000 + nn_dttrc )                          THEN   ;    rfact = 2. * rdttrc(1)   ! at nittrc000 or nittrc000+nn_dttrc (Leapfrog) 
     94      IF( ( neuler == 0 .AND. kt == nittrc000 ) .OR. ln_top_euler ) THEN   ;    rfact = rdttrc     !  at nittrc000 
     95      ELSEIF( kt <= nittrc000 + nn_dttrc )                          THEN   ;    rfact = 2. * rdttrc   ! at nittrc000 or nittrc000+nn_dttrc (Leapfrog) 
    9696      ENDIF 
    9797      ! 
     
    102102         xstep = rfact2 / rday         ! Time step duration for biology 
    103103         IF(lwp) WRITE(numout,*)  
    104          IF(lwp) WRITE(numout,*) '    Passive Tracer  time step    rfact  = ', rfact, ' rdt = ', rdttra(1) 
     104         IF(lwp) WRITE(numout,*) '    Passive Tracer  time step    rfact  = ', rfact, ' rdt = ', rdt 
    105105         IF(lwp) write(numout,*) '    PISCES  Biology time step    rfact2 = ', rfact2 
    106106         IF(lwp) WRITE(numout,*) 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/TOP_SRC/PISCES/SED/sedrst.F90

    r5215 r6051  
    6060 
    6161      ALLOCATE( zdta(jpi,jpj,jpksed,jptrased), zdta1(jpi,jpj,jpksed,2), zhipor(jpoce,jpksed) )  
    62  
    63       IF ( jprstlib == jprstdimg ) THEN 
    64         ! eventually read netcdf file (monobloc)  for restarting on different number of processors 
    65         ! if restart_sed.nc exists, then set jlibalt to jpnf90 
    66         INQUIRE( FILE = 'restart_sed.nc', EXIST = llok ) 
    67         IF ( llok ) THEN ; jlibalt = jpnf90  ; ELSE ; jlibalt = jprstlib ; ENDIF 
    68       ENDIF 
    6962 
    7063      CALL iom_open( 'restart_sed', numrsr, kiolib = jlibalt )      
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/TOP_SRC/TRP/trcadv.F90

    r5836 r6051  
    3232 
    3333   PUBLIC   trc_adv        
    34    PUBLIC   trc_adv_alloc  
    3534   PUBLIC   trc_adv_ini   
    3635 
     
    5857   INTEGER ::              nadv             ! chosen advection scheme 
    5958   ! 
    60    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::   r2dt  ! vertical profile time-step, = 2 rdttra 
    61    !                                                    ! except at nitrrc000 (=rdttra) if neuler=0 
     59   REAL(wp) ::   r2dttrc  ! vertical profile time-step, = 2 rdt 
     60   !                                                    ! except at nitrrc000 (=rdt) if neuler=0 
    6261 
    6362   !! * Substitutions 
     
    7069   !!---------------------------------------------------------------------- 
    7170CONTAINS 
    72  
    73    INTEGER FUNCTION trc_adv_alloc() 
    74       !!---------------------------------------------------------------------- 
    75       !!                  ***  ROUTINE trc_adv_alloc  *** 
    76       !!---------------------------------------------------------------------- 
    77       ! 
    78       ALLOCATE( r2dt(jpk), STAT=trc_adv_alloc ) 
    79       ! 
    80       IF( trc_adv_alloc /= 0 ) CALL ctl_warn('trc_adv_alloc : failed to allocate array.') 
    81       ! 
    82    END FUNCTION trc_adv_alloc 
    83  
    8471 
    8572   SUBROUTINE trc_adv( kt ) 
     
    10390      ! 
    10491      IF( ( neuler == 0 .AND. kt == nittrc000 ) .OR. ln_top_euler ) THEN     ! at nittrc000 
    105          r2dt(:) =  rdttrc(:)           ! = rdttrc (use or restarting with Euler time stepping) 
     92         r2dttrc =  rdttrc           ! = rdttrc (use or restarting with Euler time stepping) 
    10693      ELSEIF( kt <= nittrc000 + nn_dttrc ) THEN          ! at nittrc000 or nittrc000+1 
    107          r2dt(:) = 2. * rdttrc(:)       ! = 2 rdttrc (leapfrog) 
     94         r2dttrc = 2. * rdttrc       ! = 2 rdttrc (leapfrog) 
    10895      ENDIF 
    10996      !                                               !==  effective transport  ==! 
     
    134121         CALL tra_adv_cen    ( kt, nittrc000,'TRC',       zun, zvn, zwn     , trn, tra, jptra, nn_cen_h, nn_cen_v ) 
    135122      CASE ( np_FCT )                                    ! FCT      : 2nd / 4th order 
    136          CALL tra_adv_fct    ( kt, nittrc000,'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra, nn_fct_h, nn_fct_v ) 
     123         CALL tra_adv_fct    ( kt, nittrc000,'TRC', r2dttrc, zun, zvn, zwn, trb, trn, tra, jptra, nn_fct_h, nn_fct_v ) 
    137124      CASE ( np_FCT_zts )                                ! 2nd order FCT with vertical time-splitting 
    138          CALL tra_adv_fct_zts( kt, nittrc000,'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra        , nn_fct_zts ) 
     125         CALL tra_adv_fct_zts( kt, nittrc000,'TRC', r2dttrc, zun, zvn, zwn, trb, trn, tra, jptra        , nn_fct_zts ) 
    139126      CASE ( np_MUS )                                    ! MUSCL 
    140          CALL tra_adv_mus    ( kt, nittrc000,'TRC', r2dt, zun, zvn, zwn, trb,      tra, jptra        , ln_mus_ups )  
     127         CALL tra_adv_mus    ( kt, nittrc000,'TRC', r2dttrc, zun, zvn, zwn, trb,      tra, jptra        , ln_mus_ups )  
    141128      CASE ( np_UBS )                                    ! UBS 
    142          CALL tra_adv_ubs    ( kt, nittrc000,'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra        , nn_ubs_v   ) 
     129         CALL tra_adv_ubs    ( kt, nittrc000,'TRC', r2dttrc, zun, zvn, zwn, trb, trn, tra, jptra        , nn_ubs_v   ) 
    143130      CASE ( np_QCK )                                    ! QUICKEST 
    144          CALL tra_adv_qck    ( kt, nittrc000,'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra                     ) 
     131         CALL tra_adv_qck    ( kt, nittrc000,'TRC', r2dttrc, zun, zvn, zwn, trb, trn, tra, jptra                     ) 
    145132      ! 
    146133      END SELECT 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/TOP_SRC/TRP/trcnxt.F90

    r5656 r6051  
    4141 
    4242   PUBLIC   trc_nxt          ! routine called by step.F90 
    43    PUBLIC   trc_nxt_alloc    ! routine called by nemogcm.F90 
    4443 
    45    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::   r2dt 
     44   REAL(wp) ::   r2dttrc 
    4645 
    4746   !!---------------------------------------------------------------------- 
     
    5150   !!---------------------------------------------------------------------- 
    5251CONTAINS 
    53  
    54    INTEGER FUNCTION trc_nxt_alloc() 
    55       !!---------------------------------------------------------------------- 
    56       !!                   ***  ROUTINE trc_nxt_alloc  *** 
    57       !!---------------------------------------------------------------------- 
    58       ALLOCATE( r2dt(jpk), STAT=trc_nxt_alloc ) 
    59       ! 
    60       IF( trc_nxt_alloc /= 0 )   CALL ctl_warn('trc_nxt_alloc : failed to allocate array') 
    61       ! 
    62    END FUNCTION trc_nxt_alloc 
    63  
    6452 
    6553   SUBROUTINE trc_nxt( kt ) 
     
    117105 
    118106      ! set time step size (Euler/Leapfrog) 
    119       IF( neuler == 0 .AND. kt ==  nittrc000 ) THEN  ;  r2dt(:) =     rdttrc(:)   ! at nittrc000             (Euler) 
    120       ELSEIF( kt <= nittrc000 + nn_dttrc )     THEN  ;  r2dt(:) = 2.* rdttrc(:)   ! at nit000 or nit000+1 (Leapfrog) 
     107      IF( neuler == 0 .AND. kt ==  nittrc000 ) THEN  ;  r2dttrc =     rdttrc   ! at nittrc000             (Euler) 
     108      ELSEIF( kt <= nittrc000 + nn_dttrc )     THEN  ;  r2dttrc = 2.* rdttrc   ! at nit000 or nit000+1 (Leapfrog) 
    121109      ENDIF 
    122110 
     
    147135         DO jn = 1, jptra 
    148136            DO jk = 1, jpkm1 
    149                zfact = 1.e0 / r2dt(jk)   
     137               zfact = 1.e0 / r2dttrc   
    150138               ztrdt(:,:,jk,jn) = ( trb(:,:,jk,jn) - ztrdt(:,:,jk,jn) ) * zfact  
    151139               CALL trd_tra( kt, 'TRC', jn, jptra_atf, ztrdt ) 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90

    r5836 r6051  
    2727 
    2828   PUBLIC   trc_sbc   ! routine called by step.F90 
    29  
    30    REAL(wp) ::   r2dt  !  time-step at surface 
    3129 
    3230   !! * Substitutions 
     
    8886 
    8987      IF( ln_top_euler) THEN 
    90          r2dt =  rdttrc(1)              ! = rdttrc (use Euler time stepping) 
     88         r2dt =  rdttrc              ! = rdttrc (use Euler time stepping) 
    9189      ELSE 
    9290         IF( neuler == 0 .AND. kt == nittrc000 ) THEN     ! at nittrc000 
    93             r2dt = rdttrc(1)           ! = rdttrc (restarting with Euler time stepping) 
     91            r2dt = rdttrc            ! = rdttrc (restarting with Euler time stepping) 
    9492         ELSEIF( kt <= nittrc000 + nn_dttrc ) THEN          ! at nittrc000 or nittrc000+1 
    95             r2dt = 2. * rdttrc(1)       ! = 2 rdttrc (leapfrog) 
     93            r2dt = 2. * rdttrc       ! = 2 rdttrc (leapfrog) 
    9694         ENDIF 
    9795      ENDIF 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/TOP_SRC/TRP/trczdf.F90

    r5836 r6051  
    2828   PUBLIC   trc_zdf         ! called by step.F90  
    2929   PUBLIC   trc_zdf_ini     ! called by nemogcm.F90  
    30    PUBLIC   trc_zdf_alloc   ! called by nemogcm.F90  
    3130    
    3231   !                                        !!** Vertical diffusion (nam_trczdf) ** 
     
    3635   INTEGER ::   nzdf = 0               ! type vertical diffusion algorithm used 
    3736      !                                ! defined from ln_zdf...  namlist logicals) 
    38    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::  r2dt   ! vertical profile time-step, = 2 rdttra 
    39       !                                                 ! except at nittrc000 (=rdttra) if neuler=0 
     37   REAL(wp) ::  r2dttrc   ! vertical profile time-step, = 2 rdt 
     38      !                   ! except at nittrc000 (=rdt) if neuler=0 
    4039 
    4140   !! * Substitutions 
     
    4948   !!---------------------------------------------------------------------- 
    5049CONTAINS 
    51     
    52    INTEGER FUNCTION trc_zdf_alloc() 
    53       !!---------------------------------------------------------------------- 
    54       !!                  ***  ROUTINE trc_zdf_alloc  *** 
    55       !!---------------------------------------------------------------------- 
    56       ALLOCATE( r2dt(jpk) , STAT=trc_zdf_alloc ) 
    57       ! 
    58       IF( trc_zdf_alloc /= 0 )   CALL ctl_warn('trc_zdf_alloc : failed to allocate array.') 
    59       ! 
    60    END FUNCTION trc_zdf_alloc 
    61  
    6250 
    6351   SUBROUTINE trc_zdf( kt ) 
     
    7765      ! 
    7866      IF( ( neuler == 0 .AND. kt == nittrc000 ) .OR. ln_top_euler ) THEN     ! at nittrc000 
    79          r2dt(:) =  rdttrc(:)           ! = rdttrc (use or restarting with Euler time stepping) 
     67         r2dttrc =  rdttrc           ! = rdttrc (use or restarting with Euler time stepping) 
    8068      ELSEIF( kt <= nittrc000 + nn_dttrc ) THEN          ! at nittrc000 or nittrc000+1 
    81          r2dt(:) = 2. * rdttrc(:)       ! = 2 rdttrc (leapfrog) 
     69         r2dttrc = 2. * rdttrc       ! = 2 rdttrc (leapfrog) 
    8270      ENDIF 
    8371 
     
    8876 
    8977      SELECT CASE ( nzdf )                       ! compute lateral mixing trend and add it to the general trend 
    90       CASE ( 0 ) ;  CALL tra_zdf_exp( kt, nittrc000, 'TRC', r2dt, nn_trczdf_exp, trb, tra, jptra )    !   explicit scheme  
    91       CASE ( 1 ) ;  CALL tra_zdf_imp( kt, nittrc000, 'TRC', r2dt,                trb, tra, jptra )    !   implicit scheme           
     78      CASE ( 0 ) ;  CALL tra_zdf_exp( kt, nittrc000, 'TRC', r2dttrc, nn_trczdf_exp, trb, tra, jptra )    !   explicit scheme  
     79      CASE ( 1 ) ;  CALL tra_zdf_imp( kt, nittrc000, 'TRC', r2dttrc,                trb, tra, jptra )    !   implicit scheme           
    9280      END SELECT 
    9381 
     
    9583         DO jn = 1, jptra 
    9684            DO jk = 1, jpkm1 
    97                ztrtrd(:,:,jk,jn) = ( ( tra(:,:,jk,jn) - trb(:,:,jk,jn) ) / r2dt(jk) ) - ztrtrd(:,:,jk,jn) 
     85               ztrtrd(:,:,jk,jn) = ( ( tra(:,:,jk,jn) - trb(:,:,jk,jn) ) / r2dttrc ) - ztrtrd(:,:,jk,jn) 
    9886            END DO 
    9987            CALL trd_tra( kt, 'TRC', jn, jptra_zdf, ztrtrd(:,:,:,jn) ) 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/TOP_SRC/TRP/trdmxl_trc.F90

    r5836 r6051  
    330330      !!  
    331331      !! ** Purpose :  Compute and cumulate the mixed layer trends over an analysis 
    332       !!               period, and write NetCDF (or dimg) outputs. 
     332      !!               period, and write NetCDF outputs. 
    333333      !! 
    334334      !! ** Method/usage : 
     
    390390      ! 
    391391      CHARACTER (LEN=10) ::   clvar 
    392 #if defined key_dimgout 
    393       INTEGER ::   iyear,imon,iday 
    394       CHARACTER(LEN=80) ::   cltext, clmode 
    395 #endif 
    396392      !!---------------------------------------------------------------------- 
    397393 
     
    774770      ! ====================================================================== 
    775771 
    776       ! IV.1 Code for dimg mpp output 
    777       ! ----------------------------- 
    778  
    779 # if defined key_dimgout 
    780       STOP 'Not implemented' 
    781 # else 
    782        
    783       ! IV.2 Code for IOIPSL/NetCDF output 
     772      ! IV.1 Code for IOIPSL/NetCDF output 
    784773      ! ---------------------------------- 
    785774 
     
    865854      icount = 1 
    866855 
    867 # endif /* key_dimgout */ 
    868  
    869856      IF( MOD( itmod, nn_trd_trc ) == 0 ) THEN 
    870857         ! 
     
    896883      !! 
    897884      !! ** Purpose :  Compute and cumulate the mixed layer biological trends over an analysis 
    898       !!               period, and write NetCDF (or dimg) outputs. 
     885      !!               period, and write NetCDF outputs. 
    899886      !! 
    900887      !! ** Method/usage : 
     
    943930      LOGICAL  :: llwarn  = .TRUE., lldebug = .TRUE. 
    944931      REAL(wp) :: zfn, zfn2 
    945 #if defined key_dimgout 
    946       INTEGER ::  iyear,imon,iday 
    947       CHARACTER(LEN=80) :: cltext, clmode 
    948 #endif 
    949932      !!---------------------------------------------------------------------- 
    950933      ! ... Warnings 
     
    10551038      ! ====================================================================== 
    10561039 
    1057       ! IV.1 Code for dimg mpp output 
    1058       ! ----------------------------- 
    1059  
    1060 # if defined key_dimgout 
    1061       STOP 'Not implemented' 
    1062 # else 
    1063  
    1064       ! IV.2 Code for IOIPSL/NetCDF output 
     1040      ! IV.1 Code for IOIPSL/NetCDF output 
    10651041      ! ---------------------------------- 
    10661042 
     
    11071083 
    11081084 
    1109 # endif /* key_dimgout */ 
    11101085 
    11111086      IF( MOD( itmod, nn_trd_trc ) == 0 ) THEN 
     
    12581233      ! ====================================================================== 
    12591234 
    1260 #if defined key_dimgout  
    1261       ??? 
    1262 #else 
    12631235      ! clmxl = legend root for netCDF output 
    12641236      IF( nn_ctls_trc == 0 ) THEN                                   ! control surface = mixed-layer with density criterion 
     
    14031375#endif 
    14041376 
    1405 #endif        /* key_dimgout */ 
    14061377   END SUBROUTINE trd_mxl_trc_init 
    14071378 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/TOP_SRC/TRP/trdmxl_trc_rst.F90

    r5341 r6051  
    147147      clpath = TRIM(cn_trcrst_indir) 
    148148      IF( clpath(LEN_TRIM(clpath):) /= '/' ) clpath = TRIM(clpath) // '/' 
    149  
    150       IF ( jprstlib == jprstdimg ) THEN 
    151         ! eventually read netcdf file (monobloc)  for restarting on different number of processors 
    152         ! if {cn_trdrst_trc_in}.nc exists, then set jlibalt to jpnf90 
    153         INQUIRE( FILE = TRIM(clpath)//TRIM(cn_trdrst_trc_in)//'.nc', EXIST = llok ) 
    154         IF ( llok ) THEN ; jlibalt = jpnf90  ; ELSE ; jlibalt = jprstlib ; ENDIF 
    155       ENDIF 
    156  
    157149      CALL iom_open( TRIM(clpath)//TRIM(cn_trdrst_trc_in), inum, kiolib = jlibalt )  
    158150       
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/TOP_SRC/trc.F90

    r5836 r6051  
    6464   CHARACTER(len = 80) , PUBLIC                                    ::  cn_trcrst_out  !: suffix of pass. tracer restart name (output) 
    6565   CHARACTER(len = 256), PUBLIC                                    ::  cn_trcrst_outdir  !: restart output directory 
    66    REAL(wp)            , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)   ::  rdttrc         !: vertical profile of passive tracer time step 
     66   REAL(wp)            , PUBLIC                                    ::  rdttrc         !: passive tracer time step 
    6767   LOGICAL             , PUBLIC                                    ::  ln_top_euler  !: boolean term for euler integration  
    6868   LOGICAL             , PUBLIC                                    ::  ln_trcdta      !: Read inputs data from files 
     
    201201         &      gtrui(jpi,jpj,jptra)  , gtrvi(jpi,jpj,jptra)                          ,       & 
    202202         &      sbc_trc_b(jpi,jpj,jptra), sbc_trc(jpi,jpj,jptra)                      ,       &   
    203          &      cvol(jpi,jpj,jpk)     , rdttrc(jpk)           , trai(jptra)           ,       & 
     203         &      cvol(jpi,jpj,jpk)     , trai(jptra)                                   ,       & 
    204204         &      ctrcnm(jptra)         , ctrcln(jptra)         , ctrcun(jptra)         ,       &  
    205205         &      ln_trc_ini(jptra)     , ln_trc_wri(jptra)     , qsr_mean(jpi,jpj)     ,  STAT = trc_alloc  )   
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/TOP_SRC/trcdia.F90

    r5836 r6051  
    106106      CHARACTER (len=20) :: cltra, cltrau 
    107107      CHARACTER (len=80) :: cltral 
    108       REAL(wp) :: zsto, zout, zdt 
     108      REAL(wp) :: zsto, zout 
    109109      INTEGER  :: iimi, iima, ijmi, ijma, ipk, it, itmod, iiter 
    110110      !!---------------------------------------------------------------------- 
     
    118118 
    119119      ! Define frequency of output and means 
    120       zdt = rdt 
    121120      IF( ln_mskland )   THEN   ;   clop = "only(x)"   ! put 1.e+20 on land (very expensive!!) 
    122121      ELSE                      ;   clop = "x"         ! no use of the mask value (require less cpu time) 
     
    126125      clop = "inst("//TRIM(clop)//")" 
    127126# else 
    128       zsto = zdt 
     127      zsto = rdt 
    129128      clop = "ave("//TRIM(clop)//")" 
    130129# endif 
    131       zout = nn_writetrc * zdt 
     130      zout = nn_writetrc * rdt 
    132131 
    133132      ! Define indices of the horizontal output zoom and vertical limit storage 
     
    182181         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,     & 
    183182            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,         &  
    184             &          iiter, zjulian, zdt, nhorit5, nit5 , domain_id=nidom, snc4chunks=snc4set) 
     183            &          iiter, zjulian, rdt, nhorit5, nit5 , domain_id=nidom, snc4chunks=snc4set) 
    185184 
    186185         ! Vertical grid for tracer : gdept 
     
    250249      INTEGER  ::   jl 
    251250      INTEGER  ::   iimi, iima, ijmi, ijma, ipk, it, itmod, iiter 
    252       REAL(wp) ::   zsto, zout, zdt 
     251      REAL(wp) ::   zsto, zout 
    253252      !!---------------------------------------------------------------------- 
    254253 
     
    261260      ! 
    262261      ! Define frequency of output and means 
    263       zdt = rdt 
    264262      IF( ln_mskland )   THEN   ;   clop = "only(x)"   ! put 1.e+20 on land (very expensive!!) 
    265263      ELSE                      ;   clop = "x"         ! no use of the mask value (require less cpu time) 
    266264      ENDIF 
    267265#  if defined key_diainstant 
    268       zsto = nn_writedia * zdt 
     266      zsto = nn_writedia * rdt 
    269267      clop = "inst("//TRIM(clop)//")" 
    270268#  else 
    271       zsto = zdt 
     269      zsto = rdt 
    272270      clop = "ave("//TRIM(clop)//")" 
    273271#  endif 
    274       zout = nn_writedia * zdt 
     272      zout = nn_writedia * rdt 
    275273 
    276274      ! Define indices of the horizontal output zoom and vertical limit storage 
     
    302300         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,             & 
    303301            &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,         & 
    304             &          iiter, zjulian, zdt, nhoritd, nitd , domain_id=nidom, snc4chunks=snc4set ) 
     302            &          iiter, zjulian, rdt, nhoritd, nitd , domain_id=nidom, snc4chunks=snc4set ) 
    305303 
    306304         ! Vertical grid for 2d and 3d arrays 
     
    387385      INTEGER  ::   ji, jj, jk, jl 
    388386      INTEGER  ::   iimi, iima, ijmi, ijma, ipk, it, itmod, iiter 
    389       REAL(wp) ::   zsto, zout, zdt 
     387      REAL(wp) ::   zsto, zout 
    390388      !!---------------------------------------------------------------------- 
    391389 
     
    398396 
    399397      ! Define frequency of output and means 
    400       zdt = rdt 
    401398      IF( ln_mskland )   THEN   ;   clop = "only(x)"   ! put 1.e+20 on land (very expensive!!) 
    402399      ELSE                      ;   clop = "x"         ! no use of the mask value (require less cpu time) 
    403400      ENDIF 
    404401#        if defined key_diainstant 
    405       zsto = nn_writebio * zdt 
     402      zsto = nn_writebio * rdt 
    406403      clop = "inst("//TRIM(clop)//")" 
    407404#        else 
    408       zsto = zdt 
     405      zsto = rdt 
    409406      clop = "ave("//TRIM(clop)//")" 
    410407#        endif 
    411       zout = nn_writebio * zdt 
     408      zout = nn_writebio * rdt 
    412409 
    413410      ! Define indices of the horizontal output zoom and vertical limit storage 
     
    435432         CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,      & 
    436433            &    iimi, iima-iimi+1, ijmi, ijma-ijmi+1,          & 
    437             &    iiter, zjulian, zdt, nhoritb, nitb , domain_id=nidom, snc4chunks=snc4set ) 
     434            &    iiter, zjulian, rdt, nhoritb, nitb , domain_id=nidom, snc4chunks=snc4set ) 
    438435         ! Vertical grid for biological trends 
    439436         CALL histvert(nitb, 'deptht', 'Vertical T levels', 'm', ipk, gdept_1d, ndepitb) 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/TOP_SRC/trcini.F90

    r5836 r6051  
    253253      !! ** Purpose :   Allocate all the dynamic arrays of the OPA modules 
    254254      !!---------------------------------------------------------------------- 
    255       USE trcadv        , ONLY:   trc_adv_alloc          ! TOP-related alloc routines... 
    256255      USE trc           , ONLY:   trc_alloc 
    257       USE trcnxt        , ONLY:   trc_nxt_alloc 
    258       USE trczdf        , ONLY:   trc_zdf_alloc 
    259256      USE trdtrc_oce    , ONLY:   trd_trc_oce_alloc 
    260257#if defined key_trdmxl_trc  
     
    265262      !!---------------------------------------------------------------------- 
    266263      ! 
    267       ierr =        trc_adv_alloc()          ! Start of TOP-related alloc routines... 
    268       ierr = ierr + trc_alloc    () 
    269       ierr = ierr + trc_nxt_alloc() 
    270       ierr = ierr + trc_zdf_alloc() 
     264      ierr =        trc_alloc() 
    271265      ierr = ierr + trd_trc_oce_alloc() 
    272266#if defined key_trdmxl_trc  
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/TOP_SRC/trcnam.F90

    r5836 r6051  
    9898 
    9999       
    100       rdttrc(:) = rdttra(:) * FLOAT( nn_dttrc )   ! vertical profile of passive tracer time-step 
     100      rdttrc = rdt * FLOAT( nn_dttrc )   ! passive tracer time-step 
    101101   
    102102      IF(lwp) THEN                   ! control print 
    103103        WRITE(numout,*)  
    104         WRITE(numout,*) '    Passive Tracer  time step    rdttrc  = ', rdttrc(1) 
     104        WRITE(numout,*) '    Passive Tracer  time step    rdttrc  = ', rdttrc 
    105105        WRITE(numout,*)  
    106106      ENDIF 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/TOP_SRC/trcrst.F90

    r5836 r6051  
    131131      !!---------------------------------------------------------------------- 
    132132      ! 
    133       CALL iom_rstput( kt, nitrst, numrtw, 'rdttrc1', rdttrc(1) )   ! surface passive tracer time step 
     133      CALL iom_rstput( kt, nitrst, numrtw, 'rdttrc1', rdttrc )   ! passive tracer time step 
    134134      ! prognostic variables  
    135135      ! --------------------  
     
    199199         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 
    200200 
    201          IF ( jprstlib == jprstdimg ) THEN 
    202            ! eventually read netcdf file (monobloc)  for restarting on different number of processors 
    203            ! if {cn_trcrst_in}.nc exists, then set jlibalt to jpnf90  
    204            INQUIRE( FILE = TRIM(cn_trcrst_indir)//'/'//TRIM(cn_trcrst_in)//'.nc', EXIST = llok ) 
    205            IF ( llok ) THEN ; jlibalt = jpnf90  ; ELSE ; jlibalt = jprstlib ; ENDIF 
    206          ENDIF 
    207  
    208201         IF( ln_rsttr ) THEN 
    209202            CALL iom_open( TRIM(cn_trcrst_indir)//'/'//cn_trcrst_in, numrtr, kiolib = jlibalt ) 
     
    235228             ELSE 
    236229               ndastp = ndate0 - 1     ! ndate0 read in the namelist in dom_nam 
    237                adatrj = ( REAL( nittrc000-1, wp ) * rdttra(1) ) / rday 
     230               adatrj = ( REAL( nittrc000-1, wp ) * rdt ) / rday 
    238231               ! note this is wrong if time step has changed during run 
    239232            ENDIF 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/TOOLS/NESTING/src/agrif_create_restart.f90

    r2455 r6051  
    411411        ENDIF 
    412412        ! 
    413      CASE('nfice','nfbulk','kt','ndastp','adatrj','rdt','rdttra1')  
     413     CASE('nfice','nfbulk','kt','ndastp','adatrj','rdt')  
    414414        IF(.NOT. dimg ) THEN 
    415415           WRITE(*,*) 'copy ',TRIM(Ncdf_varname(i)) 
     
    417417              CALL Read_Ncdf_var(TRIM(Ncdf_varname(i)),TRIM(restart_file),tabtemp0dreal)   
    418418              SELECT CASE (TRIM(Ncdf_varname(i))) 
    419               CASE('rdt','rdttra1') 
     419              CASE('rdt') 
    420420                 tabtemp0dreal = tabtemp0dreal/rhot 
    421421              CASE('kt') 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/TOOLS/OBSTOOLS/src/in_out_manager.F90

    r3000 r6051  
    3737   INTEGER       ::   nn_write      =   10        !: model standard output frequency 
    3838   INTEGER       ::   nn_stock      =   10        !: restart file frequency 
    39    LOGICAL       ::   ln_dimgnnn    = .FALSE.     !: type of dimgout. (F): 1 file for all proc 
    40                                                        !:                  (T): 1 file per proc 
    4139   LOGICAL       ::   ln_mskland    = .FALSE.     !: mask land points in NetCDF outputs (costly: + ~15%) 
    4240   LOGICAL       ::   ln_clobber    = .FALSE.     !: clobber (overwrite) an existing file 
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/TOOLS/SIREN/cfg/variable.cfg

    r5617 r6051  
    4343kt           |                |      |   |                 |                                       |                                   
    4444rdt          |                |      |   |                 |                                       |                                   
    45 rdttra1      |                |      |   |                 |                                       |                                   
    4645utau_b       |                | XY   | U |                 |                                       |surface_downward_eastward_stress   
    4746vtau_b       |                | XY   | V |                 |                                       |surface_downward_northward_stress  
Note: See TracChangeset for help on using the changeset viewer.