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 8823 for branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/LIM_SRC_3/icewri.F90 – NEMO

Ignore:
Timestamp:
2017-11-27T16:03:02+01:00 (6 years ago)
Author:
clem
Message:

start organizing outputs in sea ice

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/LIM_SRC_3/icewri.F90

    r8706 r8823  
    4444      !!  This routine computes the average of some variables and write it 
    4545      !!  on the ouput files. 
    46       !!  ATTENTION cette routine n'est valable que si le pas de temps est 
    47       !!  egale a une fraction entiere de 1 jours. 
    48       !!  Diff 1-D 3-D : suppress common also included in etat 
    49       !!                 suppress cmoymo 11-18 
    50       !!  modif : 03/06/98 
    5146      !!------------------------------------------------------------------- 
    5247      INTEGER, INTENT(in) ::   kt   ! time-step 
     
    5651      REAL(wp), DIMENSION(jpi,jpj)     ::  z2d, zswi, zmiss !  2D workspace 
    5752      REAL(wp), DIMENSION(jpi,jpj)     ::  zfb              ! ice freeboard 
    58       REAL(wp), DIMENSION(jpi,jpj)     ::  zamask, zamask15 ! 15% concentration mask 
     53      REAL(wp), DIMENSION(jpi,jpj)     ::  zmsk05, zmsk15 ! 15% concentration mask 
    5954      REAL(wp), DIMENSION(jpi,jpj,jpl) ::  zswi2, zmiss2 
    6055      ! 
     
    7671         DO ji = 1, jpi 
    7772            zswi(ji,jj)      = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi06 ) ) ! 1 if ice, 0 if no ice 
    78             zamask(ji,jj)    = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - 0.05   ) ) ! 1 if 5% ice, 0 if less - required to mask thickness and snow depth 
    79             zamask15(ji,jj)  = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - 0.15   ) ) ! 1 if 15% ice, 0 if less 
     73            zmsk05(ji,jj)    = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - 0.05   ) ) ! 1 if 5% ice, 0 if less - required to mask thickness and snow depth 
     74            zmsk15(ji,jj)  = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - 0.15   ) ) ! 1 if 15% ice, 0 if less 
    8075         END DO 
    8176      END DO 
     
    9691      !---------------------------------------- 
    9792      ! velocity 
    98       IF( iom_use('uice_ipa') )  CALL iom_put( "uice_ipa" , u_ice         )   ! ice velocity u component 
    99       IF( iom_use('vice_ipa') )  CALL iom_put( "vice_ipa" , v_ice         )   ! ice velocity v component 
     93      IF( iom_use('uice') )  CALL iom_put( "uice" , u_ice         )   ! ice velocity u component 
     94      IF( iom_use('vice') )  CALL iom_put( "vice" , v_ice         )   ! ice velocity v component 
    10095 
    10196      IF( iom_use('icevel') .OR. iom_use('icevel_mv') ) THEN  
     
    112107      ENDIF 
    113108      ! 
    114       IF( iom_use('miceage')  )       CALL iom_put( "miceage"     , om_i * zswi * zamask15 )  ! mean ice age 
     109      IF( iom_use('miceage')  )       CALL iom_put( "miceage"     , om_i * zswi * zmsk15 )  ! mean ice age 
    115110      IF( iom_use('micet')    )       CALL iom_put( "micet"       , ( tm_i  - rt0 ) * zswi )  ! ice mean    temperature 
    116111      IF( iom_use('icest')    )       CALL iom_put( "icest"       , ( tm_su - rt0 ) * zswi )  ! ice surface temperature 
    117112      IF( iom_use('icecolf')  )       CALL iom_put( "icecolf"     , ht_i_new               )  ! new ice thickness formed in the leads 
    118113      ! 
    119       CALL iom_put( "isst"        , sst_m               )        ! sea surface temperature 
    120       CALL iom_put( "isss"        , sss_m               )        ! sea surface salinity 
    121114      CALL iom_put( "iceconc"     , at_i  * zswi        )        ! ice concentration 
    122115      CALL iom_put( "icevolu"     , vt_i  * zswi        )        ! ice volume = mean ice thickness over the cell 
     
    155148      IF ( iom_use( "icepres"  ) ) CALL iom_put( "icepres"     , zswi(:,:)                     )                                ! Ice presence (1 or 0)  
    156149      IF ( iom_use( "icemass"  ) ) CALL iom_put( "icemass"     , rhoic * vt_i(:,:) * zswi(:,:) )                                ! Ice mass per cell area  
    157       IF ( iom_use( "icethic"  ) ) CALL iom_put( "icethic"     , hm_i(:,:) * zamask(:,:)  + ( 1. - zamask(:,:) ) * zmiss_val )     ! Ice thickness  
     150      IF ( iom_use( "icethic"  ) ) CALL iom_put( "icethic"     , hm_i(:,:) * zmsk05(:,:)  + ( 1. - zmsk05(:,:) ) * zmiss_val )     ! Ice thickness  
    158151      IF ( iom_use( "snomass"  ) ) CALL iom_put( "snomass"     , rhosn * vt_s(:,:)         * zswi(:,:) + zmiss(:,:) )           ! Snow mass per cell area 
    159       IF ( iom_use( "snothic"  ) ) CALL iom_put( "snothic"     , hm_s(:,:) * zamask(:,:)  + ( 1. - zamask(:,:) ) * zmiss_val )     ! Snow thickness        
     152      IF ( iom_use( "snothic"  ) ) CALL iom_put( "snothic"     , hm_s(:,:) * zmsk05(:,:)  + ( 1. - zmsk05(:,:) ) * zmiss_val )     ! Snow thickness        
    160153 
    161154      IF ( iom_use( "iceconc_cat_mv"  ) )  CALL iom_put( "iceconc_cat_mv" , a_i(:,:,:)  * zswi2(:,:,:) + zmiss2(:,:,:) )        ! Area for categories 
     
    166159      IF ( iom_use( "icesntK"  ) ) CALL iom_put( "icesntK"     , tm_si(:,:)                * zswi(:,:) + zmiss(:,:) )           ! Snow-ice interface temperature 
    167160      IF ( iom_use( "icebotK"  ) ) CALL iom_put( "icebotK"     , t_bo(:,:)                 * zswi(:,:) + zmiss(:,:) )           ! Ice bottom temperature 
    168       IF ( iom_use( "iceage"   ) ) CALL iom_put( "iceage"      , om_i(:,:) * zamask15(:,:) + ( 1. - zamask15(:,:) ) * zmiss_val )   ! Ice age 
     161      IF ( iom_use( "iceage"   ) ) CALL iom_put( "iceage"      , om_i(:,:) * zmsk15(:,:) + ( 1. - zmsk15(:,:) ) * zmiss_val )   ! Ice age 
    169162      IF ( iom_use( "icesmass" ) ) CALL iom_put( "icesmass"    , SUM( sv_i, DIM = 3 ) * rhoic * 1.0e-3 * zswi(:,:) )           ! Mass of salt in sea ice per cell area 
    170163      IF ( iom_use( "icesal"   ) ) CALL iom_put( "icesal"      , sm_i(:,:)                * zswi(:,:) + zmiss(:,:) )           ! Ice salinity 
Note: See TracChangeset for help on using the changeset viewer.