- Timestamp:
- 2017-11-27T16:03:02+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/LIM_SRC_3/icewri.F90
r8706 r8823 44 44 !! This routine computes the average of some variables and write it 45 45 !! on the ouput files. 46 !! ATTENTION cette routine n'est valable que si le pas de temps est47 !! egale a une fraction entiere de 1 jours.48 !! Diff 1-D 3-D : suppress common also included in etat49 !! suppress cmoymo 11-1850 !! modif : 03/06/9851 46 !!------------------------------------------------------------------- 52 47 INTEGER, INTENT(in) :: kt ! time-step … … 56 51 REAL(wp), DIMENSION(jpi,jpj) :: z2d, zswi, zmiss ! 2D workspace 57 52 REAL(wp), DIMENSION(jpi,jpj) :: zfb ! ice freeboard 58 REAL(wp), DIMENSION(jpi,jpj) :: z amask, zamask15 ! 15% concentration mask53 REAL(wp), DIMENSION(jpi,jpj) :: zmsk05, zmsk15 ! 15% concentration mask 59 54 REAL(wp), DIMENSION(jpi,jpj,jpl) :: zswi2, zmiss2 60 55 ! … … 76 71 DO ji = 1, jpi 77 72 zswi(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi06 ) ) ! 1 if ice, 0 if no ice 78 z amask(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 depth79 z amask15(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - 0.15 ) ) ! 1 if 15% ice, 0 if less73 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 80 75 END DO 81 76 END DO … … 96 91 !---------------------------------------- 97 92 ! velocity 98 IF( iom_use('uice _ipa') ) CALL iom_put( "uice_ipa" , u_ice ) ! ice velocity u component99 IF( iom_use('vice _ipa') ) CALL iom_put( "vice_ipa" , v_ice ) ! ice velocity v component93 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 100 95 101 96 IF( iom_use('icevel') .OR. iom_use('icevel_mv') ) THEN … … 112 107 ENDIF 113 108 ! 114 IF( iom_use('miceage') ) CALL iom_put( "miceage" , om_i * zswi * z amask15 ) ! mean ice age109 IF( iom_use('miceage') ) CALL iom_put( "miceage" , om_i * zswi * zmsk15 ) ! mean ice age 115 110 IF( iom_use('micet') ) CALL iom_put( "micet" , ( tm_i - rt0 ) * zswi ) ! ice mean temperature 116 111 IF( iom_use('icest') ) CALL iom_put( "icest" , ( tm_su - rt0 ) * zswi ) ! ice surface temperature 117 112 IF( iom_use('icecolf') ) CALL iom_put( "icecolf" , ht_i_new ) ! new ice thickness formed in the leads 118 113 ! 119 CALL iom_put( "isst" , sst_m ) ! sea surface temperature120 CALL iom_put( "isss" , sss_m ) ! sea surface salinity121 114 CALL iom_put( "iceconc" , at_i * zswi ) ! ice concentration 122 115 CALL iom_put( "icevolu" , vt_i * zswi ) ! ice volume = mean ice thickness over the cell … … 155 148 IF ( iom_use( "icepres" ) ) CALL iom_put( "icepres" , zswi(:,:) ) ! Ice presence (1 or 0) 156 149 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(:,:) * z amask(:,:) + ( 1. - zamask(:,:) ) * zmiss_val ) ! Ice thickness150 IF ( iom_use( "icethic" ) ) CALL iom_put( "icethic" , hm_i(:,:) * zmsk05(:,:) + ( 1. - zmsk05(:,:) ) * zmiss_val ) ! Ice thickness 158 151 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(:,:) * z amask(:,:) + ( 1. - zamask(:,:) ) * zmiss_val ) ! Snow thickness152 IF ( iom_use( "snothic" ) ) CALL iom_put( "snothic" , hm_s(:,:) * zmsk05(:,:) + ( 1. - zmsk05(:,:) ) * zmiss_val ) ! Snow thickness 160 153 161 154 IF ( iom_use( "iceconc_cat_mv" ) ) CALL iom_put( "iceconc_cat_mv" , a_i(:,:,:) * zswi2(:,:,:) + zmiss2(:,:,:) ) ! Area for categories … … 166 159 IF ( iom_use( "icesntK" ) ) CALL iom_put( "icesntK" , tm_si(:,:) * zswi(:,:) + zmiss(:,:) ) ! Snow-ice interface temperature 167 160 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(:,:) * z amask15(:,:) + ( 1. - zamask15(:,:) ) * zmiss_val ) ! Ice age161 IF ( iom_use( "iceage" ) ) CALL iom_put( "iceage" , om_i(:,:) * zmsk15(:,:) + ( 1. - zmsk15(:,:) ) * zmiss_val ) ! Ice age 169 162 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 170 163 IF ( iom_use( "icesal" ) ) CALL iom_put( "icesal" , sm_i(:,:) * zswi(:,:) + zmiss(:,:) ) ! Ice salinity
Note: See TracChangeset
for help on using the changeset viewer.