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 10995 – NEMO

Changeset 10995


Ignore:
Timestamp:
2019-05-17T16:43:44+02:00 (5 years ago)
Author:
dancopsey
Message:

Put fixes in a switch so that we don't change answers in GC3 but we still want to apply them to GC4.

Location:
branches/UKMO/dev_r5518_GO6_fix_zemp_ice/NEMOGCM/NEMO/OPA_SRC/SBC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_fix_zemp_ice/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r10920 r10995  
    184184   LOGICAL     ::   ln_usecplmask          !  use a coupling mask file to merge data received from several models 
    185185                                           !   -> file cplmask.nc with the float variable called cplmask (jpi,jpj,nn_cplmodel) 
     186   LOGICAL, PUBLIC ::   ln_fix_sublimation_botmelt     ! Apply sublimation bug fixes (GMED#449) 
     187 
    186188   TYPE ::   DYNARR      
    187189      REAL(wp), POINTER, DIMENSION(:,:,:)    ::   z3    
     
    259261         &                  ln_usecplmask, nn_coupled_iceshelf_fluxes, ln_iceshelf_init_atmos,        & 
    260262         &                  rn_greenland_total_fw_flux, rn_greenland_calving_fraction, & 
    261          &                  rn_antarctica_total_fw_flux, rn_antarctica_calving_fraction, rn_iceshelf_fluxes_tolerance 
     263         &                  rn_antarctica_total_fw_flux, rn_antarctica_calving_fraction, rn_iceshelf_fluxes_tolerance, & 
     264         &                  ln_fix_sublimation_botmelt 
    262265      !!--------------------------------------------------------------------- 
    263266 
     
    329332         WRITE(numout,*)'  nn_cplmodel                         = ', nn_cplmodel 
    330333         WRITE(numout,*)'  ln_usecplmask                       = ', ln_usecplmask 
     334         WRITE(numout,*)'  ln_fix_sublimation_botmelt          = ', ln_fix_sublimation_botmelt 
    331335         WRITE(numout,*)'  nn_coupled_iceshelf_fluxes          = ', nn_coupled_iceshelf_fluxes 
    332336         WRITE(numout,*)'  ln_iceshelf_init_atmos              = ', ln_iceshelf_init_atmos 
     
    17701774         IF ( TRIM(sn_rcv_emp%clcat) == 'yes' ) THEN 
    17711775            ! zemp_ice is the sum of frcv(jpr_ievp)%z3(:,:,1) over all layers - snow 
    1772             zemp_ice(:,:) = - frcv(jpr_snow)%z3(:,:,1) * zicefr(:,:) 
     1776            IF ( ln_fix_sublimation_botmelt ) THEN 
     1777               zemp_ice(:,:) = - frcv(jpr_snow)%z3(:,:,1) * zicefr(:,:) 
     1778            ELSE 
     1779               zemp_ice(:,:) = - frcv(jpr_snow)%z3(:,:,1) 
     1780            ENDIF 
    17731781            DO jl=1,jpl 
    1774                zemp_ice(:,:   ) = zemp_ice(:,:) + frcv(jpr_ievp)%z3(:,:,jl) * a_i_last_couple(:,:,jl) 
     1782               IF ( ln_fix_sublimation_botmelt ) THEN 
     1783                  zemp_ice(:,:   ) = zemp_ice(:,:) + frcv(jpr_ievp)%z3(:,:,jl) * a_i_last_couple(:,:,jl) 
     1784               ELSE 
     1785                  zemp_ice(:,:   ) = zemp_ice(:,:) + frcv(jpr_ievp)%z3(:,:,jl) 
     1786               ENDIF 
    17751787            ENDDO 
    17761788            ! latent heat coupled for each category in CICE 
  • branches/UKMO/dev_r5518_GO6_fix_zemp_ice/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90

    r10920 r10995  
    395395         ELSE IF (ksbc == jp_purecpl) THEN 
    396396            DO jl=1,ncat 
    397                ztmpn(:,:,jl)=qla_ice(:,:,jl)*a_i_last_couple(:,:,jl) 
     397               IF ( ln_fix_sublimation_botmelt ) THEN 
     398                  ztmpn(:,:,jl)=qla_ice(:,:,jl)*a_i_last_couple(:,:,jl) 
     399               ELSE 
     400                  ztmpn(:,:,jl)=qla_ice(:,:,jl)*a_i(:,:,jl) 
     401               ENDIF 
    398402            ENDDO 
    399403    ELSE 
     
    408412!  Convert to GBM 
    409413            IF (ksbc == jp_flx .OR. ksbc == jp_purecpl) THEN 
    410                ztmp(:,:) = botmelt(:,:,jl)*a_i_last_couple(:,:,jl) 
     414               IF ( ln_fix_sublimation_botmelt ) THEN 
     415                  ztmp(:,:) = botmelt(:,:,jl)*a_i_last_couple(:,:,jl) 
     416               ELSE 
     417                  ztmp(:,:) = botmelt(:,:,jl)*a_i(:,:,jl) 
     418               ENDIF 
    411419            ELSE 
    412420               ztmp(:,:) = botmelt(:,:,jl) 
     
    417425!  Convert to GBM 
    418426            IF (ksbc == jp_flx .OR. ksbc == jp_purecpl) THEN 
    419                ztmp(:,:) = (topmelt(:,:,jl)+botmelt(:,:,jl))*a_i_last_couple(:,:,jl)  
     427               IF ( ln_fix_sublimation_botmelt ) THEN 
     428                  ztmp(:,:) = (topmelt(:,:,jl)+botmelt(:,:,jl))*a_i_last_couple(:,:,jl)  
     429               ELSE 
     430                  ztmp(:,:) = (topmelt(:,:,jl)+botmelt(:,:,jl))*a_i(:,:,jl) 
     431               ENDIF 
    420432            ELSE 
    421433               ztmp(:,:) = (topmelt(:,:,jl)+botmelt(:,:,jl)) 
Note: See TracChangeset for help on using the changeset viewer.