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 13058 for NEMO – NEMO

Changeset 13058 for NEMO


Ignore:
Timestamp:
2020-06-07T20:13:59+02:00 (4 years ago)
Author:
rblod
Message:

merge trunk@13057 into dev_r12973_AGRIF_CMEMS

Location:
NEMO/branches/2020/dev_r12973_AGRIF_CMEMS
Files:
24 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/cfgs/AGRIF_DEMO/EXPREF/1_namelist_cfg

    r12489 r13058  
    8181   ln_blk      = .true.    !  Bulk formulation                          (T => fill namsbc_blk ) 
    8282                     ! Sea-ice : 
    83    nn_ice      = 2         !  =2 or 3 automatically for SI3 or CICE    ("key_si3" or "key_cice") 
    84                            !          except in AGRIF zoom where it has to be specified 
     83   nn_ice      = 2         !  =0 no ice boundary condition 
     84      !                    !  =1 use observed ice-cover                 (  => fill namsbc_iif ) 
     85      !                    !  =2 or 3 for SI3 and CICE, respectively 
    8586                     ! Misc. options of sbc :  
    8687   ln_traqsr   = .true.    !  Light penetration in the ocean            (T => fill namtra_qsr) 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/cfgs/AGRIF_DEMO/EXPREF/2_namelist_cfg

    r12489 r13058  
    7878   ln_blk      = .true.    !  Bulk formulation                          (T => fill namsbc_blk ) 
    7979                     ! Sea-ice : 
    80    nn_ice      = 2         !  =0   Use SI3 model 
     80   nn_ice      = 2         !  =0 no ice boundary condition 
     81      !                    !  =1 use observed ice-cover                 (  => fill namsbc_iif ) 
     82      !                    !  =2 or 3 for SI3 and CICE, respectively 
    8183                     ! Misc. options of sbc :  
    8284   ln_traqsr   = .true.    !  Light penetration in the ocean            (T => fill namtra_qsr) 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/cfgs/AGRIF_DEMO/EXPREF/3_namelist_cfg

    r12489 r13058  
    7878   ln_blk      = .true.    !  Bulk formulation                          (T => fill namsbc_blk ) 
    7979                     ! Sea-ice : 
    80    nn_ice      = 2         !  =0   Use SI3 model 
     80   nn_ice      = 2         !  =0 no ice boundary condition 
     81      !                    !  =1 use observed ice-cover                 (  => fill namsbc_iif ) 
     82      !                    !  =2 or 3 for SI3 and CICE, respectively 
    8183                     ! Misc. options of sbc :  
    8284   ln_traqsr   = .true.    !  Light penetration in the ocean            (T => fill namtra_qsr) 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/cfgs/AGRIF_DEMO/EXPREF/namelist_cfg

    r12489 r13058  
    8181   ln_blk      = .true.    !  Bulk formulation                          (T => fill namsbc_blk ) 
    8282                     ! Sea-ice : 
    83    nn_ice      = 2         !  =2 or 3 automatically for SI3 or CICE    ("key_si3" or "key_cice") 
    84                            !          except in AGRIF zoom where it has to be specified 
     83   nn_ice      = 2         !  =0 no ice boundary condition 
     84      !                    !  =1 use observed ice-cover                 (  => fill namsbc_iif ) 
     85      !                    !  =2 or 3 for SI3 and CICE, respectively 
    8586                     ! Misc. options of sbc :  
    8687   ln_traqsr   = .true.    !  Light penetration in the ocean            (T => fill namtra_qsr) 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/cfgs/ORCA2_ICE_ABL/EXPREF/namelist_cfg

    r12489 r13058  
    8484   ln_abl      = .true.    !  ABL  formulation                          (T => fill namsbc_abl ) 
    8585                     ! Sea-ice : 
    86    nn_ice      = 2         !  =2 or 3 automatically for SI3 or CICE    ("key_si3" or "key_cice") 
    87                            !          except in AGRIF zoom where it has to be specified 
     86   nn_ice      = 2         !  =0 no ice boundary condition 
     87      !                    !  =1 use observed ice-cover                 (  => fill namsbc_iif ) 
     88      !                    !  =2 or 3 for SI3 and CICE, respectively 
    8889                     ! Misc. options of sbc :  
    8990   ln_traqsr   = .true.    !  Light penetration in the ocean            (T => fill namtra_qsr) 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg

    r12501 r13058  
    8080   ln_blk      = .true.    !  Bulk formulation                          (T => fill namsbc_blk ) 
    8181                     ! Sea-ice : 
    82    nn_ice      = 2         !  =2 or 3 automatically for SI3 or CICE    ("key_si3" or "key_cice") 
    83                            !          except in AGRIF zoom where it has to be specified 
     82   nn_ice      = 2         !  =0 no ice boundary condition 
     83      !                    !  =1 use observed ice-cover                 (  => fill namsbc_iif ) 
     84      !                    !  =2 or 3 for SI3 and CICE, respectively 
    8485                     ! Misc. options of sbc :  
    8586   ln_traqsr   = .true.    !  Light penetration in the ocean            (T => fill namtra_qsr) 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/cfgs/ORCA2_SAS_ICE/EXPREF/namelist_cfg

    r12377 r13058  
    5959   nn_fsbc     = 1         !  frequency of SBC module call 
    6060   ln_blk      = .true.    !  Bulk formulation                          (T => fill namsbc_blk ) 
    61    nn_ice      = 2         !  =2  sea-ice model                         ("key_SI3" or "key_cice") 
     61   nn_ice      = 2         !  =0 no ice boundary condition 
     62      !                    !  =1 use observed ice-cover                 (  => fill namsbc_iif ) 
     63      !                    !  =2 or 3 for SI3 and CICE, respectively 
    6264/ 
    6365!----------------------------------------------------------------------- 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/cfgs/SHARED/namelist_ref

    r13028 r13058  
    11351135   !                       !                 = 3 as =2 with distinct dissipative an mixing length scale 
    11361136   ln_mxl0     = .true.    !  surface mixing length scale = F(wind stress) (T) or not (F) 
     1137      nn_mxlice    = 0        ! type of scaling under sea-ice 
     1138                              !    = 0 no scaling under sea-ice 
     1139                              !    = 1 scaling with constant sea-ice thickness 
     1140                              !    = 2  scaling with mean sea-ice thickness ( only with SI3 sea-ice model ) 
     1141                              !    = 3  scaling with maximum sea-ice thickness 
     1142      rn_mxlice   = 10.       ! max constant ice thickness value when scaling under sea-ice ( nn_mxlice=1) 
    11371143   rn_mxl0     =   0.04    !  surface  buoyancy lenght scale minimum value 
    11381144   ln_drg      = .false.   !  top/bottom friction added as boundary condition of TKE 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/cfgs/WED025/EXPREF/namelist_cfg

    r12933 r13058  
    116116   ln_blk      = .true.    !  Bulk formulation                          (T => fill namsbc_blk ) 
    117117                     ! Sea-ice : 
    118    nn_ice      = 2         !  =0 no ice boundary condition     
     118   nn_ice      = 2         !  =0 no ice boundary condition 
    119119      !                    !  =1 use observed ice-cover                 (  => fill namsbc_iif ) 
    120       !                    !  =2 or 3 automatically for SI3 or CICE    ("key_si3" or "key_cice") 
    121       !                    !          except in AGRIF zoom where it has to be specified 
     120      !                    !  =2 or 3 for SI3 and CICE, respectively 
    122121   ln_ice_embd = .false.   !  =T embedded sea-ice (pressure + mass and salt exchanges) 
    123122      !                    !  =F levitating ice (no pressure, mass and salt exchanges) 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/ICB/icbrst.F90

    r12933 r13058  
    215215         cl_filename = TRIM(cexper)//"_"//TRIM(ADJUSTL(cl_kt))//"_"//TRIM(cn_icbrst_out) 
    216216         IF( lk_mpp ) THEN 
    217             idg = MAX( INT(LOG10(REAL(jpnij-1,wp))) + 1, 4 )          ! how many digits to we need to write? min=4, max=9 
    218             WRITE(clfmt, "('(a,a,i', i1, '.', i1, ',a)')") idg, idg   ! '(a,a,ix.x,a)' 
     217            idg = MAX( INT(LOG10(REAL(MAX(1,jpnij-1),wp))) + 1, 4 )          ! how many digits to we need to write? min=4, max=9 
     218            WRITE(clfmt, "('(a,a,i', i1, '.', i1, ',a)')") idg, idg          ! '(a,a,ix.x,a)' 
    219219            WRITE(cl_filename,clfmt) TRIM(cl_filename), '_', narea-1, '.nc' 
    220220         ELSE 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/ICB/icbtrj.F90

    r12933 r13058  
    8484      cl_filename = 'trajectory_icebergs_'//TRIM(ADJUSTL(cldate_ini))//'-'//TRIM(ADJUSTL(cldate_end)) 
    8585      IF ( lk_mpp ) THEN 
    86          idg = MAX( INT(LOG10(REAL(jpnij-1,wp))) + 1, 4 )          ! how many digits to we need to write? min=4, max=9 
    87          WRITE(clfmt, "('(a,a,i', i1, '.', i1, ',a)')") idg, idg   ! '(a,a,ix.x,a)' 
     86         idg = MAX( INT(LOG10(REAL(MAX(1,jpnij-1),wp))) + 1, 4 )          ! how many digits to we need to write? min=4, max=9 
     87         WRITE(clfmt, "('(a,a,i', i1, '.', i1, ',a)')") idg, idg          ! '(a,a,ix.x,a)' 
    8888         WRITE(cl_filename,clfmt) TRIM(cl_filename), '_', narea-1, '.nc' 
    8989      ELSE 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/IOM/iom_nf90.F90

    r12933 r13058  
    111111         IF( ldwrt ) THEN              !* the file should be open in write mode so we create it... 
    112112            IF( jpnij > 1 ) THEN 
    113                idg = MAX( INT(LOG10(REAL(jpnij-1,wp))) + 1, 4 )          ! how many digits to we need to write? min=4, max=9 
    114                WRITE(clfmt, "('(a,a,i', i1, '.', i1, ',a)')") idg, idg   ! '(a,a,ix.x,a)' 
     113               idg = MAX( INT(LOG10(REAL(MAX(1,jpnij-1),wp))) + 1, 4 )          ! how many digits to we need to write? min=4, max=9 
     114               WRITE(clfmt, "('(a,a,i', i1, '.', i1, ',a)')") idg, idg          ! '(a,a,ix.x,a)' 
    115115               WRITE(cltmp,clfmt) cdname(1:iln-1), '_', narea-1, '.nc' 
    116116               cdname = TRIM(cltmp) 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/LBC/lib_mpp.F90

    r13026 r13058  
    11141114      ! 
    11151115      CHARACTER(LEN=8) ::   clfmt            ! writing format 
    1116       INTEGER ::   inum 
    1117       INTEGER ::   idg  ! number of digits 
     1116      INTEGER          ::   inum 
    11181117      !!---------------------------------------------------------------------- 
    11191118      ! 
    11201119      nstop = nstop + 1 
    11211120      ! 
    1122       IF( numout == 6 ) THEN                          ! force to open ocean.output file if not already opened 
    1123          CALL ctl_opn( numout, 'ocean.output', 'APPEND', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 
    1124       ELSE 
    1125          IF( narea > 1 .AND. cd1 == 'STOP' ) THEN     ! add an error message in ocean.output 
    1126             CALL ctl_opn( inum,'ocean.output', 'APPEND', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 
    1127             WRITE(inum,*) 
    1128             idg = MAX( INT(LOG10(REAL(jpnij-1,wp))) + 1, 4 )        ! how many digits to we need to write? min=4, max=9 
    1129             WRITE(clfmt, "('(a,i', i1, '.', i1, ')')") idg, idg     ! '(a,ix.x)' 
    1130             WRITE(inum,clfmt) ' ===>>> : see E R R O R in ocean.output_', narea - 1 
    1131          ENDIF 
     1121      IF( cd1 == 'STOP' .AND. narea /= 1 ) THEN    ! Immediate stop: add an arror message in 'ocean.output' file 
     1122         CALL ctl_opn( inum, 'ocean.output', 'APPEND', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 
     1123         WRITE(inum,*) 
     1124         WRITE(inum,*) ' ==>>>   Look for "E R R O R" messages in all existing *ocean.output* files' 
     1125         CLOSE(inum) 
     1126      ENDIF 
     1127      IF( numout == 6 ) THEN                       ! force to open ocean.output file if not already opened 
     1128         CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE., narea ) 
    11321129      ENDIF 
    11331130      ! 
     
    12321229      IF( PRESENT( karea ) ) THEN 
    12331230         IF( karea > 1 ) THEN 
    1234             idg = MAX( INT(LOG10(REAL(jpnij-1,wp))) + 1, 4 )        ! how many digits to we need to write? min=4, max=9 
    1235             WRITE(clfmt, "('(a,a,i', i1, '.', i1, ')')") idg, idg   ! '(a,a,ix.x)' 
     1231            ! Warning: jpnij is maybe not already defined when calling ctl_opn -> use mppsize instead of jpnij 
     1232            idg = MAX( INT(LOG10(REAL(MAX(1,mppsize-1),wp))) + 1, 4 )      ! how many digits to we need to write? min=4, max=9 
     1233            WRITE(clfmt, "('(a,a,i', i1, '.', i1, ')')") idg, idg          ! '(a,a,ix.x)' 
    12361234            WRITE(clfile, clfmt) TRIM(clfile), '_', karea-1 
    12371235         ENDIF 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/SBC/sbcmod.F90

    r13026 r13058  
    120120      ncom_fsbc = nn_fsbc    ! make nn_fsbc available for lib_mpp 
    121121#endif 
    122       !                             !* overwrite namelist parameter using CPP key information 
    123 #if defined key_agrif 
    124  !     IF( Agrif_Root() ) THEN                ! AGRIF zoom (cf r1242: possibility to run without ice in fine grid) 
    125  !        IF( lk_si3  )   nn_ice      = 2 
    126  !        IF( lk_cice )   nn_ice      = 3 
    127  !     ENDIF 
    128 !!GS: TBD 
    129 !#else 
    130 !      IF( lk_si3  )   nn_ice      = 2 
    131 !      IF( lk_cice )   nn_ice      = 3 
    132 #endif 
     122      ! 
    133123      ! 
    134124      IF(lwp) THEN                  !* Control print 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/ZDF/zdftke.F90

    r12702 r13058  
    4545   USE zdfdrg         ! vertical physics: top/bottom drag coef. 
    4646   USE zdfmxl         ! vertical physics: mixed layer 
     47#if defined key_si3 
     48   USE ice, ONLY: hm_i, h_i 
     49#endif 
     50#if defined key_cice 
     51   USE sbc_ice, ONLY: h_i 
     52#endif 
    4753   ! 
    4854   USE in_out_manager ! I/O manager 
     
    6470   INTEGER  ::   nn_mxl    ! type of mixing length (=0/1/2/3) 
    6571   REAL(wp) ::   rn_mxl0   ! surface  min value of mixing length (kappa*z_o=0.4*0.1 m)  [m] 
     72   INTEGER  ::      nn_mxlice ! type of scaling under sea-ice 
     73   REAL(wp) ::      rn_mxlice ! max constant ice thickness value when scaling under sea-ice ( nn_mxlice=1) 
    6674   INTEGER  ::   nn_pdl    ! Prandtl number or not (ratio avt/avm) (=0/1) 
    6775   REAL(wp) ::   rn_ediff  ! coefficient for avt: avt=rn_ediff*mxl*sqrt(e) 
     
    422430      REAL(wp) ::   zrn2, zraug, zcoef, zav   ! local scalars 
    423431      REAL(wp) ::   zdku,   zdkv, zsqen       !   -      - 
    424       REAL(wp) ::   zemxl, zemlm, zemlp       !   -      - 
     432      REAL(wp) ::   zemxl, zemlm, zemlp, zmaxice       !   -      - 
    425433      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zmxlm, zmxld   ! 3D workspace 
    426434      !!-------------------------------------------------------------------- 
     
    436444      zmxld(:,:,:)  = rmxl_min 
    437445      ! 
    438       IF( ln_mxl0 ) THEN            ! surface mixing length = F(stress) : l=vkarmn*2.e5*taum/(rho0*g) 
     446     IF( ln_mxl0 ) THEN            ! surface mixing length = F(stress) : l=vkarmn*2.e5*taum/(rho0*g) 
     447         ! 
    439448         zraug = vkarmn * 2.e5_wp / ( rho0 * grav ) 
     449#if ! defined key_si3 && ! defined key_cice 
    440450         DO_2D_00_00 
    441             zmxlm(ji,jj,1) = MAX( rn_mxl0, zraug * taum(ji,jj) * tmask(ji,jj,1) ) 
     451            zmxlm(ji,jj,1) =  zraug * taum(ji,jj) * tmask(ji,jj,1) 
    442452         END_2D 
    443       ELSE  
     453#else 
     454         SELECT CASE( nn_mxlice )             ! Type of scaling under sea-ice 
     455         ! 
     456         CASE( 0 )                      ! No scaling under sea-ice 
     457            DO_2D_00_00 
     458               zmxlm(ji,jj,1) = zraug * taum(ji,jj) * tmask(ji,jj,1) 
     459            END_2D 
     460            ! 
     461         CASE( 1 )                           ! scaling with constant sea-ice thickness 
     462            DO_2D_00_00 
     463               zmxlm(ji,jj,1) =  ( ( 1. - fr_i(ji,jj) ) * zraug * taum(ji,jj) + fr_i(ji,jj) * rn_mxlice ) * tmask(ji,jj,1) 
     464            END_2D 
     465            ! 
     466         CASE( 2 )                                 ! scaling with mean sea-ice thickness 
     467            DO_2D_00_00 
     468#if defined key_si3 
     469               zmxlm(ji,jj,1) = ( ( 1. - fr_i(ji,jj) ) * zraug * taum(ji,jj) + fr_i(ji,jj) * hm_i(ji,jj) * 2. ) * tmask(ji,jj,1) 
     470#elif defined key_cice 
     471               zmaxice = MAXVAL( h_i(ji,jj,:) ) 
     472               zmxlm(ji,jj,1) = ( ( 1. - fr_i(ji,jj) ) * zraug * taum(ji,jj) + fr_i(ji,jj) * zmaxice ) * tmask(ji,jj,1) 
     473#endif 
     474            END_2D 
     475            ! 
     476         CASE( 3 )                                 ! scaling with max sea-ice thickness 
     477            DO_2D_00_00 
     478               zmaxice = MAXVAL( h_i(ji,jj,:) ) 
     479               zmxlm(ji,jj,1) = ( ( 1. - fr_i(ji,jj) ) * zraug * taum(ji,jj) + fr_i(ji,jj) * zmaxice ) * tmask(ji,jj,1) 
     480            END_2D 
     481            ! 
     482         END SELECT 
     483#endif 
     484         ! 
     485         DO_2D_00_00 
     486            zmxlm(ji,jj,1) = MAX( rn_mxl0, zmxlm(ji,jj,1) ) 
     487         END_2D 
     488         ! 
     489      ELSE 
    444490         zmxlm(:,:,1) = rn_mxl0 
    445491      ENDIF 
     492 
    446493      ! 
    447494      DO_3D_00_00( 2, jpkm1 ) 
     
    547594      INTEGER             ::   ios 
    548595      !! 
    549       NAMELIST/namzdf_tke/ rn_ediff, rn_ediss , rn_ebb , rn_emin  ,          & 
    550          &                 rn_emin0, rn_bshear, nn_mxl , ln_mxl0  ,          & 
    551          &                 rn_mxl0 , nn_pdl   , ln_drg , ln_lc    , rn_lc,   & 
    552          &                 nn_etau , nn_htau  , rn_efr , rn_eice   
     596      NAMELIST/namzdf_tke/ rn_ediff, rn_ediss , rn_ebb   , rn_emin  ,  & 
     597         &                 rn_emin0, rn_bshear, nn_mxl   , ln_mxl0  ,  & 
     598         &                 rn_mxl0 , nn_mxlice, rn_mxlice,             & 
     599         &                 nn_pdl  , ln_drg   , ln_lc    , rn_lc,      & 
     600         &                 nn_etau , nn_htau  , rn_efr   , rn_eice   
    553601      !!---------------------------------------------------------------------- 
    554602      ! 
     
    576624         WRITE(numout,*) '      mixing length type                          nn_mxl    = ', nn_mxl 
    577625         WRITE(numout,*) '         surface mixing length = F(stress) or not    ln_mxl0   = ', ln_mxl0 
     626         IF( ln_mxl0 ) THEN 
     627            WRITE(numout,*) '      type of scaling under sea-ice               nn_mxlice = ', nn_mxlice 
     628            IF( nn_mxlice == 1 ) & 
     629            WRITE(numout,*) '      ice thickness when scaling under sea-ice    rn_mxlice = ', rn_mxlice 
     630         ENDIF          
    578631         WRITE(numout,*) '         surface  mixing length minimum value        rn_mxl0   = ', rn_mxl0 
    579632         WRITE(numout,*) '      top/bottom friction forcing flag            ln_drg    = ', ln_drg 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/nemogcm.F90

    r13026 r13058  
    228228         IF( ngrdstop > 0 ) THEN 
    229229            WRITE(ctmp9,'(i2)') ngrdstop 
    230             WRITE(ctmp2,*) '      ==>>>   Error detected in Agrif grid '//TRIM(ctmp9) 
    231             WRITE(ctmp3,*) '      ==>>>   look for error messages in '//TRIM(ctmp9)//'_ocean_output* files' 
    232             CALL ctl_stop( ctmp1, ctmp2, ctmp3 ) 
     230            WRITE(ctmp2,*) '           E R R O R detected in Agrif grid '//TRIM(ctmp9) 
     231            WRITE(ctmp3,*) '           Look for "E R R O R" messages in all existing '//TRIM(ctmp9)//'_ocean_output* files' 
     232            CALL ctl_stop( ' ', ctmp1, ' ', ctmp2, ' ', ctmp3 ) 
    233233         ELSE 
    234             CALL ctl_stop( ctmp1 ) 
     234            WRITE(ctmp2,*) '           Look for "E R R O R" messages in all existing ocean_output* files' 
     235            CALL ctl_stop( ' ', ctmp1, ' ', ctmp2 ) 
    235236         ENDIF 
    236237      ENDIF 
     
    245246#else 
    246247      IF    ( lk_oasis ) THEN   ;   CALL cpl_finalize   ! end coupling and mpp communications with OASIS 
    247       ELSEIF( lk_mpp   ) THEN   ;   CALL mppstop      ! end mpp communications 
     248      ELSEIF( lk_mpp   ) THEN   ;   CALL mppstop        ! end mpp communications 
    248249      ENDIF 
    249250#endif 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/stpctl.F90

    r12933 r13058  
    260260      !!! WRITE(clsum, '(i'//clfmt//')') ksum                   ! this is creating a compilation error with AGRIF 
    261261      cl4 = '(i'//clfmt//')'   ;   WRITE(clsum, cl4) ksum 
    262       WRITE(clfmt, '(i1)') INT(LOG10(REAL(jpnij-1,wp))) + 1     ! how many digits to we need to write ? (we decide max = 9) 
     262      WRITE(clfmt, '(i1)') INT(LOG10(REAL(MAX(1,jpnij-1),wp))) + 1    ! how many digits to we need to write ? (we decide max = 9) 
    263263      cl4 = '(i'//clfmt//')'   ;   WRITE(clmin, cl4) kmin-1 
    264264                                   WRITE(clmax, cl4) kmax-1 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OFF/nemogcm.F90

    r12933 r13058  
    147147      IF( nstop /= 0 .AND. lwp ) THEN                 ! error print 
    148148         WRITE(ctmp1,*) '   ==>>>   nemo_gcm: a total of ', nstop, ' errors have been found' 
    149          CALL ctl_stop( ctmp1 ) 
     149         WRITE(ctmp2,*) '           Look for "E R R O R" messages in all existing ocean_output* files' 
     150         CALL ctl_stop( ' ', ctmp1, ' ', ctmp2 ) 
    150151      ENDIF 
    151152      ! 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/SAS/nemogcm.F90

    r12933 r13058  
    162162         IF( ngrdstop > 0 ) THEN 
    163163            WRITE(ctmp9,'(i2)') ngrdstop 
    164             WRITE(ctmp2,*) '      ==>>>   Error detected in Agrif grid '//TRIM(ctmp9) 
    165             WRITE(ctmp3,*) '      ==>>>   look for error messages in '//TRIM(ctmp9)//'_ocean_output* files' 
    166             CALL ctl_stop( ctmp1, ctmp2, ctmp3 ) 
     164            WRITE(ctmp2,*) '           E R R O R detected in Agrif grid '//TRIM(ctmp9) 
     165            WRITE(ctmp3,*) '           Look for "E R R O R" messages in all existing '//TRIM(ctmp9)//'_ocean_output* files' 
     166            CALL ctl_stop( ' ', ctmp1, ' ', ctmp2, ' ', ctmp3 ) 
    167167         ELSE 
    168             CALL ctl_stop( ctmp1 ) 
     168            WRITE(ctmp2,*) '           Look for "E R R O R" messages in all existing ocean_output* files' 
     169            CALL ctl_stop( ' ', ctmp1, ' ', ctmp2 ) 
    169170         ENDIF 
    170171      ENDIF 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/SAS/stpctl.F90

    r12933 r13058  
    220220      !!! WRITE(clsum, '(i'//clfmt//')') ksum                   ! this is creating a compilation error with AGRIF 
    221221      cl4 = '(i'//clfmt//')'   ;   WRITE(clsum, cl4) ksum 
    222       WRITE(clfmt, '(i1)') INT(LOG10(REAL(jpnij-1,wp))) + 1     ! how many digits to we need to write ? (we decide max = 9) 
     222      WRITE(clfmt, '(i1)') INT(LOG10(REAL(MAX(1,jpnij-1),wp))) + 1    ! how many digits to we need to write ? (we decide max = 9) 
    223223      cl4 = '(i'//clfmt//')'   ;   WRITE(clmin, cl4) kmin-1 
    224224                                   WRITE(clmax, cl4) kmax-1 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/TOP/PISCES/P4Z/p4zsms.F90

    r12489 r13058  
    206206      IF( l_trdtrc ) THEN 
    207207         DO jn = jp_pcs0, jp_pcs1 
    208            ztrdt(:,:,:,jn) = ( tr(:,:,:,jn,Kbb) - ztrdt(:,:,:,jn) ) * rfact2r  
     208           ztrdt(:,:,:,jn) = ( tr(:,:,:,jn,Kbb) - ztrdt(:,:,:,jn) ) * rfactr  
    209209           CALL trd_trc( tr(:,:,:,jn,Krhs), jn, jptra_sms, kt, Kmm )   ! save trends 
    210210         END DO 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/tests/CANAL/MY_SRC/stpctl.F90

    r12933 r13058  
    260260      !!! WRITE(clsum, '(i'//clfmt//')') ksum                   ! this is creating a compilation error with AGRIF 
    261261      cl4 = '(i'//clfmt//')'   ;   WRITE(clsum, cl4) ksum 
    262       WRITE(clfmt, '(i1)') INT(LOG10(REAL(jpnij-1,wp))) + 1     ! how many digits to we need to write ? (we decide max = 9) 
     262      WRITE(clfmt, '(i1)') INT(LOG10(REAL(MAX(1,jpnij-1),wp))) + 1    ! how many digits to we need to write ? (we decide max = 9) 
    263263      cl4 = '(i'//clfmt//')'   ;   WRITE(clmin, cl4) kmin-1 
    264264                                   WRITE(clmax, cl4) kmax-1 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/tests/STATION_ASF/MY_SRC/nemogcm.F90

    r12933 r13058  
    100100      IF( nstop /= 0 .AND. lwp ) THEN        ! error print 
    101101         WRITE(ctmp1,*) '   ==>>>   nemo_gcm: a total of ', nstop, ' errors have been found' 
    102          CALL ctl_stop( ctmp1 ) 
     102         WRITE(ctmp2,*) '           Look for "E R R O R" messages in all existing ocean_output* files' 
     103         CALL ctl_stop( ' ', ctmp1, ' ', ctmp2 ) 
    103104      ENDIF 
    104105      ! 
  • NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/tests/STATION_ASF/MY_SRC/stpctl.F90

    r12933 r13058  
    219219      !!! WRITE(clsum, '(i'//clfmt//')') ksum                   ! this is creating a compilation error with AGRIF 
    220220      cl4 = '(i'//clfmt//')'   ;   WRITE(clsum, cl4) ksum 
    221       WRITE(clfmt, '(i1)') INT(LOG10(REAL(jpnij-1,wp))) + 1     ! how many digits to we need to write ? (we decide max = 9) 
     221      WRITE(clfmt, '(i1)') INT(LOG10(REAL(MAX(1,jpnij-1),wp))) + 1    ! how many digits to we need to write ? (we decide max = 9) 
    222222      cl4 = '(i'//clfmt//')'   ;   WRITE(clmin, cl4) kmin-1 
    223223                                   WRITE(clmax, cl4) kmax-1 
Note: See TracChangeset for help on using the changeset viewer.