Changeset 4748 for branches/2014/dev_r4650_UKMO13_CICE_changes_take2
- Timestamp:
- 2014-08-18T10:33:45+02:00 (10 years ago)
- Location:
- branches/2014/dev_r4650_UKMO13_CICE_changes_take2/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO13_CICE_changes_take2/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90
r4624 r4748 1009 1009 #endif 1010 1010 1011 #if defined key_cice&& defined key_asminc1011 #if ( defined key_cice || defined key_cice5 ) && defined key_asminc 1012 1012 ! Sea-ice : CICE case. Pass ice increment tendency into CICE 1013 1013 ndaice_da(:,:) = seaice_bkginc(:,:) * zincwgt / rdt … … 1020 1020 ELSE 1021 1021 1022 #if defined key_cice&& defined key_asminc1022 #if ( defined key_cice || defined key_cice5 ) && defined key_asminc 1023 1023 ! Sea-ice : CICE case. Zero ice increment tendency into CICE 1024 1024 ndaice_da(:,:) = 0.0_wp … … 1064 1064 #endif 1065 1065 1066 #if defined key_cice&& defined key_asminc1066 #if ( defined key_cice || defined key_cice5 ) && defined key_asminc 1067 1067 ! Sea-ice : CICE case. Pass ice increment tendency into CICE 1068 1068 ndaice_da(:,:) = seaice_bkginc(:,:) / rdt … … 1074 1074 ELSE 1075 1075 1076 #if defined key_cice&& defined key_asminc1076 #if ( defined key_cice || defined key_cice5 ) && defined key_asminc 1077 1077 ! Sea-ice : CICE case. Zero ice increment tendency into CICE 1078 1078 ndaice_da(:,:) = 0.0_wp … … 1081 1081 ENDIF 1082 1082 1083 !#if defined defined key_lim2 || defined key_cice 1083 !#if defined defined key_lim2 || defined key_cice || defined key_cice5 1084 1084 ! 1085 1085 ! IF (ln_seaicebal ) THEN -
branches/2014/dev_r4650_UKMO13_CICE_changes_take2/NEMOGCM/NEMO/OPA_SRC/DOM/phycst.F90
r3625 r4748 47 47 REAL(wp), PUBLIC :: rt0_ice = 273.05_wp !: melting point of ice [Kelvin] 48 48 #endif 49 #if defined key_cice 49 #if defined key_cice || defined key_cice5 50 50 REAL(wp), PUBLIC :: rau0 = 1026._wp !: volumic mass of reference [kg/m3] 51 51 #else … … 67 67 REAL(wp), PUBLIC :: stefan = 5.67e-8_wp !: Stefan-Boltzmann constant 68 68 69 #if defined key_lim3 || defined key_cice 69 #if defined key_lim3 || defined key_cice || defined key_cice5 70 70 REAL(wp), PUBLIC :: rhoic = 917._wp !: volumic mass of sea ice [kg/m3] 71 71 REAL(wp), PUBLIC :: rcdic = 2.034396_wp !: thermal conductivity of fresh ice … … 136 136 rsiyea = 365.25_wp * rday * 2._wp * rpi / 6.283076_wp 137 137 rsiday = rday / ( 1._wp + rday / rsiyea ) 138 #if defined key_cice 138 #if defined key_cice || key_cice5 139 139 omega = 7.292116e-05 140 140 #else … … 174 174 175 175 176 #if defined key_lim3 || defined key_cice 176 #if defined key_lim3 || defined key_cice || key_cice5 177 177 xlsn = lfus * rhosn ! volumetric latent heat fusion of snow [J/m3] 178 178 #else … … 187 187 WRITE(numout,*) ' fresh ice specific heat = ', cpic , ' J/kg/K' 188 188 WRITE(numout,*) ' latent heat of fusion of fresh ice / snow = ', lfus , ' J/kg' 189 #if defined key_lim3 || defined key_cice 189 #if defined key_lim3 || defined key_cice || key_cice5 190 190 WRITE(numout,*) ' latent heat of subl. of fresh ice / snow = ', lsub , ' J/kg' 191 191 #else -
branches/2014/dev_r4650_UKMO13_CICE_changes_take2/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_ice.F90
r4306 r4748 9 9 !! 3.4 ! 2011-11 (C. Harris) CICE added as an option 10 10 !!---------------------------------------------------------------------- 11 #if defined key_lim3 || defined key_lim2 || defined key_cice 11 #if defined key_lim3 || defined key_lim2 || defined key_cice || defined key_cice5 12 12 !!---------------------------------------------------------------------- 13 13 !! 'key_lim2' or 'key_lim3' : LIM-2 or LIM-3 sea-ice model … … 21 21 USE ice_2 22 22 # endif 23 # if defined key_cice 23 # if defined key_cice || defined key_cice5 24 24 USE ice_domain_size, only: ncat 25 25 #endif … … 48 48 CHARACTER(len=1), PUBLIC, PARAMETER :: cp_ice_msh = 'C' !: 'C'-grid ice-velocity 49 49 # endif 50 # if defined key_cice 50 # if defined key_cice || defined key_cice5 51 51 LOGICAL , PUBLIC, PARAMETER :: lk_lim2 = .FALSE. !: no LIM-2 52 52 LOGICAL , PUBLIC, PARAMETER :: lk_lim3 = .FALSE. !: no LIM-3 … … 75 75 # endif 76 76 77 #elif defined key_cice 77 #elif defined key_cice || key_cice5 78 78 ! 79 79 ! for consistency with LIM, these are declared with three dimensions … … 127 127 & emp_ice(jpi,jpj) , STAT= ierr(1) ) 128 128 #endif 129 #elif defined key_cice 129 #elif defined key_cice || defined key_cice5 130 130 ALLOCATE( qla_ice(jpi,jpj,1) , qlw_ice(jpi,jpj,1) , qsr_ice(jpi,jpj,1) , & 131 131 wndi_ice(jpi,jpj) , tatm_ice(jpi,jpj) , qatm_ice(jpi,jpj) , & -
branches/2014/dev_r4650_UKMO13_CICE_changes_take2/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r4624 r4748 39 39 USE prtctl ! Print control 40 40 USE sbcwave,ONLY : cdn_wave !wave module 41 #if defined key_lim3 || defined key_cice 41 #if defined key_lim3 || defined key_cice | defined key_cice5 42 42 USE sbc_ice ! Surface boundary condition: ice fields 43 43 #endif … … 194 194 IF( ltrcdm2dc ) CALL blk_bio_meanqsr 195 195 196 #if defined key_cice 196 #if defined key_cice || defined key_cice5 197 197 IF( MOD( kt - 1, nn_fsbc ) == 0 ) THEN 198 198 qlw_ice(:,:,1) = sf(jp_qlw)%fnow(:,:,1) -
branches/2014/dev_r4650_UKMO13_CICE_changes_take2/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r4624 r4748 53 53 #endif 54 54 USE diaar5, ONLY : lk_diaar5 55 #if defined key_cice 55 #if defined key_cice || defined key_cice5 56 56 USE ice_domain_size, only: ncat 57 57 #endif … … 145 145 #endif 146 146 147 #if defined key_cice 147 #if defined key_cice || defined key_cice5 148 148 INTEGER, PARAMETER :: jpl = ncat 149 149 #elif ! defined key_lim2 && ! defined key_lim3 … … 153 153 #endif 154 154 155 #if ! defined key_lim3 && ! defined key_cice 155 #if ! defined key_lim3 && ! defined key_cice && ! defined key_cice5 156 156 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: a_i 157 157 #endif … … 161 161 #endif 162 162 163 #if ! defined key_cice 163 #if ! defined key_cice && ! defined key_cice5 164 164 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: topmelt, botmelt 165 165 #endif … … 192 192 #endif 193 193 194 #if ! defined key_lim3 && ! defined key_cice 194 #if ! defined key_lim3 && ! defined key_cice && ! defined key_cice5 195 195 ALLOCATE( a_i(jpi,jpj,jpl) , STAT=ierr(3) ) 196 196 #endif 197 197 198 #if defined key_cice || defined key_ lim2198 #if defined key_cice || defined key_cice5 || defined key_lim2 199 199 ALLOCATE( ht_i(jpi,jpj,jpl) , ht_s(jpi,jpj,jpl) , STAT=ierr(4) ) 200 200 #endif -
branches/2014/dev_r4650_UKMO13_CICE_changes_take2/NEMOGCM/NEMO/OPA_SRC/SBC/sbcfwb.F90
r4347 r4748 85 85 area = glob_sum( e1e2t(:,:) ) ! interior global domain surface 86 86 ! 87 #if ! defined key_lim2 && ! defined key_lim3 && ! defined key_cice 87 #if ! defined key_lim2 && ! defined key_lim3 && ! defined key_cice && ! defined key_cice5 88 88 snwice_mass_b(:,:) = 0.e0 ! no sea-ice model is being used : no snow+ice mass 89 89 snwice_mass (:,:) = 0.e0 -
branches/2014/dev_r4650_UKMO13_CICE_changes_take2/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
r4627 r4748 4 4 !! To couple with sea ice model CICE (LANL) 5 5 !!===================================================================== 6 #if defined key_cice 6 #if defined key_cice || defined key_cice5 7 7 !!---------------------------------------------------------------------- 8 8 !! 'key_cice' : CICE sea-ice model … … 23 23 USE daymod ! calendar 24 24 USE fldread ! read input fields 25 26 25 USE sbc_oce ! Surface boundary condition: ocean fields 27 26 USE sbc_ice ! Surface boundary condition: ice fields … … 38 37 USE ice_calendar, only: dt 39 38 USE ice_state, only: aice,aicen,uvel,vvel,vsno,vsnon,vice,vicen 39 # if defined key_cice5 40 USE ice_flux, only: strax,stray,strocnx,strocny,frain,fsnow, & 41 sst,sss,uocn,vocn,ss_tltx,ss_tlty,fsalt_ai, & 42 fresh_ai,fhocn_ai,fswthru_ai,frzmlt, & 43 flatn_f,fsurfn_f,fcondtopn_f, & 44 uatm,vatm,wind,fsw,flw,Tair,potT,Qa,rhoa,zlvl, & 45 swvdr,swvdf,swidr,swidf 46 USE ice_therm_shared, only: calc_Tsfc 47 #else 40 48 USE ice_flux, only: strax,stray,strocnx,strocny,frain,fsnow, & 41 49 sst,sss,uocn,vocn,ss_tltx,ss_tlty,fsalt_gbm, & … … 44 52 uatm,vatm,wind,fsw,flw,Tair,potT,Qa,rhoa,zlvl, & 45 53 swvdr,swvdf,swidr,swidf 54 USE ice_therm_vertical, only: calc_Tsfc 55 #endif 46 56 USE ice_forcing, only: frcvdr,frcvdf,frcidr,frcidf 47 57 USE ice_atmo, only: calc_strair 48 USE ice_therm_vertical, only: calc_Tsfc49 58 50 59 USE CICE_InitMod … … 524 533 ENDIF 525 534 535 #if defined key_cice5 536 CALL cice2nemo(fresh_ai,ztmp1,'T', 1. ) 537 CALL cice2nemo(fsalt_ai,ztmp2,'T', 1. ) 538 #else 526 539 CALL cice2nemo(fresh_gbm,ztmp1,'T', 1. ) 527 540 CALL cice2nemo(fsalt_gbm,ztmp2,'T', 1. ) 541 #endif 528 542 529 543 ! Check to avoid unphysical expression when ice is forming (ztmp1 negative) … … 557 571 ! Now add in ice / snow related terms 558 572 ! [fswthru will be zero unless running with calc_Tsfc=T in CICE] 573 #if defined key_cice5 574 CALL cice2nemo(fswthru_ai,ztmp1,'T', 1. ) 575 #else 559 576 CALL cice2nemo(fswthru_gbm,ztmp1,'T', 1. ) 577 #endif 560 578 qsr(:,:)=qsr(:,:)+ztmp1(:,:) 561 579 CALL lbc_lnk( qsr , 'T', 1. ) … … 567 585 ENDDO 568 586 587 #if defined key_cice5 588 CALL cice2nemo(fhocn_ai,ztmp1,'T', 1. ) 589 #else 569 590 CALL cice2nemo(fhocn_gbm,ztmp1,'T', 1. ) 591 #endif 570 592 qns(:,:)=qns(:,:)+nfrzmlt(:,:)+ztmp1(:,:) 571 593
Note: See TracChangeset
for help on using the changeset viewer.