Ignore:
Timestamp:
2020-06-29T20:04:05+02:00 (5 months ago)
Author:
smueller
Message:

Addition of initial sea-level compensation for non-zero sea-ice/snow mass (see ticket #2487)

Location:
NEMO/branches/2020/ticket2487/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/ticket2487/src/ICE/iceistate.F90

    r12735 r13179  
    9292      !! 
    9393      INTEGER  ::   ji, jj, jk, jl         ! dummy loop indices 
    94       REAL(wp) ::   ztmelts 
     94      REAL(wp) ::   ztmelts, z1_area, zsshadj 
    9595      INTEGER , DIMENSION(4)           ::   itest 
    9696      REAL(wp), DIMENSION(jpi,jpj)     ::   z2d 
     
    425425            END DO 
    426426         ENDIF 
     427      ELSE 
     428         z1_area = 1.0_wp / glob_sum( 'iceistate', e1e2t(:,:) ) 
     429         zsshadj = glob_sum( 'iceistate', e1e2t(:,:) * snwice_mass(:,:) ) * r1_rau0 * z1_area 
     430         WRITE(ctmp1,'(A34,F10.6,A32)') 'iceistate:   mean ssh adjusted by ', -1.0_wp * zsshadj, ' m to compensate for the initial' 
     431         CALL ctl_warn( ctmp1,          '             ice+snow mass' ) 
     432         sshn(:,:) = sshn(:,:) - zsshadj 
     433         sshb(:,:) = sshb(:,:) - zsshadj 
    427434      ENDIF 
    428435       
  • NEMO/branches/2020/ticket2487/src/OCE/SBC/sbcice_cice.F90

    r11536 r13179  
    155155      INTEGER, INTENT( in  ) ::   ksbc                ! surface forcing type 
    156156      REAL(wp), DIMENSION(jpi,jpj) :: ztmp1, ztmp2 
    157       REAL(wp) ::   zcoefu, zcoefv, zcoeff            ! local scalar 
     157      REAL(wp) ::   zcoefu, zcoefv, zcoeff            ! local scalars 
     158      REAL(wp) ::   z1_area, zsshadj                  !   "      " 
    158159      INTEGER  ::   ji, jj, jl, jk                    ! dummy loop indices 
    159160      !!--------------------------------------------------------------------- 
     
    266267               END DO 
    267268            ENDIF 
     269         ELSE 
     270            z1_area = 1.0_wp / glob_sum( 'sbcice_cice', e1e2t(:,:) ) 
     271            zsshadj = glob_sum( 'sbcice_cice', e1e2t(:,:) * snwice_mass(:,:) ) * r1_rau0 * z1_area 
     272            WRITE(ctmp1,'(A36,F10.6,A24)') 'sbcice_cice:   mean ssh adjusted by ', -1.0_wp * zsshadj, ' m to compensate for the' 
     273            CALL ctl_warn( ctmp1,          '               initial ice+snow mass' ) 
     274            sshn(:,:) = sshn(:,:) - zsshadj 
     275            sshb(:,:) = sshb(:,:) - zsshadj 
    268276         ENDIF 
    269277      ENDIF 
Note: See TracChangeset for help on using the changeset viewer.