- Timestamp:
- 2021-10-23T12:18:24+02:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/ICE/icewri.F90
r15127 r15440 20 20 USE ice ! sea-ice: variables 21 21 USE icevar ! sea-ice: operations 22 USE icealb , ONLY : rn_alb_oce 22 23 ! 23 24 USE ioipsl ! … … 53 54 REAL(wp) :: z2da, z2db, zrho1, zrho2 54 55 REAL(wp) :: zmiss_val ! missing value retrieved from xios 55 REAL(wp), DIMENSION(jpi,jpj) :: z2d , zfast! 2D workspace56 REAL(wp), DIMENSION(jpi,jpj) :: z2d ! 2D workspace 56 57 REAL(wp), DIMENSION(jpi,jpj) :: zmsk00, zmsk05, zmsk15, zmsksn ! O%, 5% and 15% concentration mask and snow mask 57 58 REAL(wp), DIMENSION(jpi,jpj,jpl) :: zmsk00l, zmsksnl ! cat masks 59 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zfast, zalb, zmskalb ! 2D workspace 58 60 ! 59 61 ! Global ice diagnostics (SIMIP) … … 131 133 IF( iom_use('vice' ) ) CALL iom_put( 'vice' , v_ice ) ! ice velocity v 132 134 ! 133 IF( iom_use('icevel') .OR. iom_use('fasticepres') ) THEN ! module of ice velocity 135 IF( iom_use('icevel') .OR. iom_use('fasticepres') ) THEN ! module of ice velocity & fast ice 136 ALLOCATE( zfast(jpi,jpj) ) 134 137 DO_2D( 0, 0, 0, 0 ) 135 138 z2da = u_ice(ji,jj) + u_ice(ji-1,jj) … … 144 147 END WHERE 145 148 CALL iom_put( 'fasticepres', zfast ) 146 ENDIF 147 149 DEALLOCATE( zfast ) 150 ENDIF 151 ! 152 IF( iom_use('icealb') .OR. iom_use('albedo') ) THEN ! ice albedo and surface albedo 153 ALLOCATE( zalb(jpi,jpj), zmskalb(jpi,jpj) ) 154 ! ice albedo 155 WHERE( at_i_b < 1.e-03 ) 156 zmskalb(:,:) = 0._wp 157 zalb (:,:) = rn_alb_oce 158 ELSEWHERE 159 zmskalb(:,:) = 1._wp 160 zalb (:,:) = SUM( alb_ice * a_i_b, dim=3 ) / at_i_b 161 END WHERE 162 CALL iom_put( 'icealb' , zalb * zmskalb + zmiss_val * ( 1._wp - zmskalb ) ) 163 ! ice+ocean albedo 164 zalb(:,:) = SUM( alb_ice * a_i_b, dim=3 ) + rn_alb_oce * ( 1._wp - at_i_b ) 165 CALL iom_put( 'albedo' , zalb ) 166 DEALLOCATE( zalb, zmskalb ) 167 ENDIF 168 ! 148 169 ! --- category-dependent fields --- ! 149 170 IF( iom_use('icemask_cat' ) ) CALL iom_put( 'icemask_cat' , zmsk00l ) ! ice mask 0%
Note: See TracChangeset
for help on using the changeset viewer.