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 11362 for NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icedyn.F90 – NEMO

Ignore:
Timestamp:
2019-07-29T13:54:58+02:00 (5 years ago)
Author:
clem
Message:

debug the ice output by adding a missing value to the outputed fields. Unfortunately this method imposes a value of 1.e20 where there is no ice, which is annoying when using ncview for example, but this is the only way (from what I know) to output averages

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icedyn.F90

    r11317 r11362  
    7575      !! 
    7676      INTEGER  ::   ji, jj        ! dummy loop indices 
     77      REAL(wp) ::   zmiss_val     ! missing value retrieved from xios  
    7778      REAL(wp) ::   zcoefu, zcoefv 
    78       REAL(wp), ALLOCATABLE, DIMENSION(:,:) ::   zdivu_i 
     79      REAL(wp), ALLOCATABLE, DIMENSION(:,:) ::   zdivu_i, zmsk00 
    7980      !!-------------------------------------------------------------------- 
    8081      ! 
     
    8889      ENDIF 
    8990      !                       
     91      ! get missing value from xml 
     92      CALL iom_miss_val( "icethic", zmiss_val ) 
     93      ! 
    9094      ! retrieve thickness from volume for landfast param. and UMx advection scheme 
    9195      WHERE( a_i(:,:,:) >= epsi20 ) 
     
    155159         CASE ( np_dynADV1D , np_dynADV2D ) 
    156160 
    157             ALLOCATE( zdivu_i(jpi,jpj) ) 
     161            ALLOCATE( zdivu_i(jpi,jpj), zmsk00(jpi,jpj) ) 
     162 
     163            DO jj = 1, jpj 
     164               DO ji = 1, jpi 
     165                  zmsk00(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi06  ) ) ! 1 if ice    , 0 if no ice 
     166               END DO 
     167            END DO 
    158168            DO jj = 2, jpjm1 
    159169               DO ji = 2, jpim1 
     
    163173            END DO 
    164174            CALL lbc_lnk( 'icedyn', zdivu_i, 'T', 1. ) 
    165             CALL iom_put( "icediv" , zdivu_i(:,:) ) 
    166             DEALLOCATE( zdivu_i ) 
     175            ! output 
     176            CALL iom_put( "icediv" , zdivu_i * zmsk00 + zmiss_val * ( 1._wp - zmsk00 ) ) 
     177 
     178            DEALLOCATE( zdivu_i, zmsk00 ) 
    167179 
    168180         END SELECT 
Note: See TracChangeset for help on using the changeset viewer.