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

Changeset 8350


Ignore:
Timestamp:
2017-07-19T12:32:38+02:00 (7 years ago)
Author:
jamrae
Message:

Added code to pass sea ice roughness length from CICE to the coupler.

Location:
branches/UKMO/dev_r5518_GO6_package_r7750_plus_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_package_r7750_plus_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_ice.F90

    r6498 r8350  
    116116   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::  a_i 
    117117   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::  ht_i, ht_s 
     118   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::  fmdice 
    118119#endif 
    119120 
     
    175176#if defined key_cice || defined key_lim2 
    176177      IF( ln_cpl )   ALLOCATE( ht_i(jpi,jpj,jpl) , ht_s(jpi,jpj,jpl) , STAT=ierr(5) ) 
     178      IF( ln_cpl )   ALLOCATE( fmdice(jpi,jpj) , STAT=ierr(5) )  
    177179#endif 
    178180 
  • branches/UKMO/dev_r5518_GO6_package_r7750_plus_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r7540 r8350  
    147147   INTEGER, PARAMETER ::   jps_bio_co2 = 34           ! MEDUSA air-sea CO2 flux in 
    148148   INTEGER, PARAMETER ::   jps_bio_dms = 35           ! MEDUSA DMS surface concentration in 
    149    INTEGER, PARAMETER ::   jpsnd      = 35            ! total number of fields sent 
     149   INTEGER, PARAMETER ::   jps_fmdice = 36            ! ice form drag 
     150   INTEGER, PARAMETER ::   jpsnd      = 36            ! total number of fields sent 
    150151 
    151152   REAL(wp), PARAMETER :: dms_unit_conv = 1.0e+6      ! Coversion factor to get outgong DMS in standard units for coupling 
     
    161162   END TYPE FLD_C 
    162163   ! Send to the atmosphere                           ! 
    163    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 
     164   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 
    164165   TYPE(FLD_C) ::   sn_snd_bio_co2, sn_snd_bio_dms                        
    165166 
     
    236237      !! 
    237238      NAMELIST/namsbc_cpl/  sn_snd_temp, sn_snd_alb   , sn_snd_thick , sn_snd_crt   , sn_snd_co2,     & 
    238          &                  sn_snd_cond, sn_snd_mpnd  , sn_snd_sstfrz, sn_snd_thick1,                 & 
     239         &                  sn_snd_cond, sn_snd_mpnd  , sn_snd_sstfrz, sn_snd_thick1, sn_snd_fmd,     & 
    239240         &                  sn_rcv_w10m, sn_rcv_taumod, sn_rcv_tau   , sn_rcv_dqnsdt, sn_rcv_qsr,     & 
    240241         &                  sn_rcv_qns , sn_rcv_emp   , sn_rcv_rnf   , sn_rcv_cal   , sn_rcv_iceflx,  & 
     
    308309         WRITE(numout,*)'      meltponds fraction & depth      = ', TRIM(sn_snd_mpnd%cldes  ), ' (', TRIM(sn_snd_mpnd%clcat   ), ')' 
    309310         WRITE(numout,*)'      sea surface freezing temp       = ', TRIM(sn_snd_sstfrz%cldes   ), ' (', TRIM(sn_snd_sstfrz%clcat   ), ')' 
     311         WRITE(numout,*)'      ice formdrag                    = ', TRIM(sn_snd_fmd%cldes   ), ' (', TRIM(sn_snd_fmd%clcat   ), ')' 
    310312 
    311313         WRITE(numout,*)'  nn_cplmodel                         = ', nn_cplmodel 
     
    926928         ENDIF 
    927929      ENDIF 
    928  
     930      !                                                      ! ------------------------- ! 
     931      !                                                      !    Ice form drag          ! 
     932      !                                                      ! ------------------------- ! 
     933      ssnd(jps_fmdice )%clname = 'OIceFmd' 
     934      ssnd(jps_fmdice)%laction = .FALSE. 
     935      IF( TRIM( sn_snd_fmd%cldes ) == 'coupled' ) ssnd(jps_fmdice)%laction = .TRUE.       
    929936      ! 
    930937      ! ================================ ! 
     
    25292536      IF( ssnd(jps_sstfrz)%laction )  CALL cpl_snd( jps_sstfrz, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info ) 
    25302537#endif 
     2538      !                                                      !------------------------! 
     2539      !                                                      ! Sea ice form drag      ! 
     2540      !                                                      !------------------------! 
     2541      SELECT CASE( sn_snd_fmd%cldes) 
     2542         CASE( 'coupled' )    
     2543             ztmp1(:,:) = fmdice(:,:) 
     2544      END SELECT 
     2545      IF( ssnd(jps_fmdice)%laction )   CALL cpl_prism_snd( jps_fmdice, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info )  
    25312546      ! 
    25322547      CALL wrk_dealloc( jpi,jpj, zfr_l, ztmp1, ztmp2, zotx1, zoty1, zotz1, zitx1, zity1, zitz1 ) 
  • branches/UKMO/dev_r5518_GO6_package_r7750_plus_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90

    r6500 r8350  
    6868#endif 
    6969   USE ice_forcing, only: frcvdr,frcvdf,frcidr,frcidf 
    70    USE ice_atmo, only: calc_strair 
     70   USE ice_atmo, only: calc_strair, z0atm 
    7171 
    7272   USE CICE_InitMod 
     
    786786      ENDIF        
    787787 
     788! Surface roughness length for form drag 
     789      CALL cice2nemo(z0atm,fmdice,'T', 1. ) 
     790 
    788791      ! 
    789792      IF( nn_timing == 1 )  CALL timing_stop('cice_sbc_hadgam') 
Note: See TracChangeset for help on using the changeset viewer.