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 8819 for branches/UKMO/dev_r5518_GO6_package_r8356_plus_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90 – NEMO

Ignore:
Timestamp:
2017-11-27T14:24:20+01:00 (6 years ago)
Author:
jamrae
Message:

Implemented code to pass sea ice skin roughness length to atmosphere.

File:
1 edited

Legend:

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

    r8670 r8819  
    150150   INTEGER, PARAMETER ::   jps_bio_chloro = 36        ! MEDUSA chlorophyll surface concentration 
    151151   INTEGER, PARAMETER ::   jps_fmdice = 37            ! ice form drag 
    152    INTEGER, PARAMETER ::   jpsnd      = 37            ! total number of fields sent 
     152   INTEGER, PARAMETER ::   jps_rough_ice_skin = 38    ! ice skin roughness length 
     153   INTEGER, PARAMETER ::   jpsnd      = 38            ! total number of fields sent 
    153154 
    154155   REAL(wp), PARAMETER :: dms_unit_conv = 1.0e+6      ! Coversion factor to get outgong DMS in standard units for coupling 
     
    164165   END TYPE FLD_C 
    165166   ! Send to the atmosphere                           ! 
    166    TYPE(FLD_C) ::   sn_snd_temp, sn_snd_alb, sn_snd_thick, sn_snd_crt, sn_snd_co2, sn_snd_cond, sn_snd_mpnd, sn_snd_sstfrz, sn_snd_thick1, sn_snd_fmd 
     167   TYPE(FLD_C) ::   sn_snd_temp, sn_snd_alb, sn_snd_thick, sn_snd_crt, sn_snd_co2, sn_snd_cond, sn_snd_mpnd, sn_snd_sstfrz, sn_snd_thick1, sn_snd_icerough 
    167168   TYPE(FLD_C) ::   sn_snd_bio_co2, sn_snd_bio_dms, sn_snd_bio_chloro                    
    168169 
     
    242243      !! 
    243244      NAMELIST/namsbc_cpl/  sn_snd_temp, sn_snd_alb   , sn_snd_thick , sn_snd_crt   , sn_snd_co2,     & 
    244          &                  sn_snd_cond, sn_snd_mpnd  , sn_snd_sstfrz, sn_snd_thick1, sn_snd_fmd,     & 
     245         &                  sn_snd_cond, sn_snd_mpnd  , sn_snd_sstfrz, sn_snd_thick1, sn_snd_icerough,& 
    245246         &                  sn_rcv_w10m, sn_rcv_taumod, sn_rcv_tau   , sn_rcv_dqnsdt, sn_rcv_qsr,     & 
    246247         &                  sn_rcv_qns , sn_rcv_emp   , sn_rcv_rnf   , sn_rcv_cal   , sn_rcv_iceflx,  & 
     
    315316         WRITE(numout,*)'      meltponds fraction & depth      = ', TRIM(sn_snd_mpnd%cldes  ), ' (', TRIM(sn_snd_mpnd%clcat   ), ')' 
    316317         WRITE(numout,*)'      sea surface freezing temp       = ', TRIM(sn_snd_sstfrz%cldes   ), ' (', TRIM(sn_snd_sstfrz%clcat   ), ')' 
    317          WRITE(numout,*)'      ice formdrag                    = ', TRIM(sn_snd_fmd%cldes   ), ' (', TRIM(sn_snd_fmd%clcat   ), ')' 
     318         WRITE(numout,*)'      ice formdrag                    = ', TRIM(sn_snd_icerough%cldes   ), ' (', TRIM(sn_snd_icerough%clcat   ), ')' 
    318319 
    319320         WRITE(numout,*)'  nn_cplmodel                         = ', nn_cplmodel 
     
    875876      !                                                      ! ------------------------- ! 
    876877      ssnd(jps_fmdice )%clname = 'OIceFmd' 
    877       SELECT CASE ( TRIM( sn_snd_fmd%cldes ) ) 
     878      ssnd(jps_rough_ice_skin )%clname = 'ORghIcSk' 
     879      SELECT CASE ( TRIM( sn_snd_icerough%cldes ) ) 
    878880         CASE ( 'none' ) 
    879881            ssnd(jps_fmdice)%laction = .FALSE. 
     882            ssnd(jps_rough_ice_skin)%laction = .FALSE. 
    880883         CASE ( 'ice', 'weighted ice' )  
    881884            ssnd(jps_fmdice)%laction = .TRUE. 
    882          CASE default   ;   CALL ctl_stop( 'sbc_cpl_init: wrong definition of sn_snd_fmd%cldes' ) 
     885            ssnd(jps_rough_ice_skin)%laction = .TRUE. 
     886         CASE default   ;   CALL ctl_stop( 'sbc_cpl_init: wrong definition of sn_snd_icerough%cldes' ) 
    883887      END SELECT 
    884888      ! 
     
    26402644#if defined key_cice 
    26412645      IF( ssnd(jps_fmdice)%laction ) THEN 
    2642           SELECT CASE( sn_snd_fmd%cldes ) 
     2646          SELECT CASE( sn_snd_icerough%cldes ) 
    26432647             CASE( 'ice' ) 
    26442648                ztmp1(:,:) = fmdice(:,:) 
    26452649             CASE( 'weighted ice' )  
    26462650                ztmp1(:,:) = fmdice(:,:) * fr_i(:,:) 
    2647              CASE default      ;  CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_fmd%cldes' ) 
     2651             CASE default      ;  CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_icerough%cldes' ) 
    26482652          END SELECT 
    26492653      ENDIF 
    26502654      IF( ssnd(jps_fmdice)%laction )   CALL cpl_snd( jps_fmdice, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info )  
     2655 
     2656      IF( ssnd(jps_rough_ice_skin)%laction ) THEN 
     2657          SELECT CASE( sn_snd_icerough%cldes ) 
     2658             CASE( 'ice' ) 
     2659                ztmp1(:,:) = rough_ice_skin(:,:) 
     2660             CASE( 'weighted ice' )  
     2661                ztmp1(:,:) = rough_ice_skin(:,:) * fr_i(:,:) 
     2662             CASE default      ;  CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_icerough%cldes' ) 
     2663          END SELECT 
     2664      ENDIF 
     2665      IF( ssnd(jps_rough_ice_skin)%laction )   CALL cpl_snd( jps_rough_ice_skin, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info )  
    26512666#endif 
    26522667      ! 
Note: See TracChangeset for help on using the changeset viewer.