Changeset 9 for branches/2016


Ignore:
Timestamp:
04/04/16 10:56:46 (8 years ago)
Author:
vancop
Message:

New Gravity Drainage Scheme v1

Location:
branches/2016/dev_v3.20_2016_gravity_drainage/SOURCES/source_3.20
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_v3.20_2016_gravity_drainage/SOURCES/source_3.20/ice.com

    r4 r9  
    178178 
    179179      COMMON/heateqcoe/lfus,cpg,cpw,gammac,betak,tmut,tpw, 
    180      &              cpoc,deltah, betak1, betak2, visc_br, beta_ocs 
     180     &              cpoc,deltah, betak1, betak2, visc_br, thdiff_br,  
     181     &              beta_ocs 
    181182 
    182183      COMMON/barrowconf/sal_read(11), hi_read(11), hgins, hnins, 
     
    194195     &                s_ini, ln_flo, ln_flu, ln_grd 
    195196 
    196       CHARACTER*2 gravdr 
     197      CHARACTER*2 c_gravdr 
    197198      CHARACTER*4 alb_char, pre_char, sal_char 
    198199      CHARACTER*12 name_file_bar_par 
    199200      CHARACTER*17 name_file_bar_for 
    200201      CHARACTER*4  c_rad_scheme 
    201       CHARACTER*3  c_rad_discr 
     202      CHARACTER*3  c_rad_discr, c_sbr, c_perm, c_permeff 
    202203        
    203       COMMON/chars/gravdr, alb_char, pre_char, sal_char,  
     204      COMMON/chars/c_gravdr, alb_char, pre_char, sal_char,  
    204205     &             name_file_bar_par, namefile_bar_for,  
    205      &             c_rad_scheme, c_rad_discr 
     206     &             c_rad_scheme, c_rad_discr, c_sbr, 
     207     &             c_perm, c_permeff 
    206208 
    207209      ! radiation transfer in sea ice 
  • branches/2016/dev_v3.20_2016_gravity_drainage/SOURCES/source_3.20/ice_phy_ini.f

    r4 r9  
    3333      REAL(8), DIMENSION (maxnlay+2) :: 
    3434     &   zthick0                 !: thickness of old layers 
     35 
     36      REAL(8), DIMENSION (6)       ::  
     37     &   zp 
    3538 
    3639      WRITE(numout,*) ' * ice_phy_ini : ' 
     
    8689      CALL CF_CLOSE (filenc) ! close nc file 
    8790 
    88       t_bo_b(ji)   =  273.15-tmut*oce_sal  
     91      IF ( c_sbr .EQ. 'LIN' ) THEN 
     92 
     93         t_bo_b(ji)   =  273.15-tmut*oce_sal  
     94 
     95      ENDIF 
     96 
     97      IF ( c_sbr .EQ. 'NTZ' ) THEN 
     98 
     99         zp(1) = -0.0210;      zp(2) = -0.0015 
     100         zp(3) = 2.3631d-05;   zp(4) = -1.8129d-07 
     101         zp(5) = 5.8694d-10;   zp(6) = -6.7021d-13 
     102 
     103         t_bo_b(ji)   = 273.15 
     104         DO ii = 1, 6 
     105            t_bo_b(ji) = t_bo_b(ji) + zp(ii)*oce_sal**ii 
     106         ENDDO 
     107 
     108      ENDIF 
     109 
     110      IF ( c_sbr .EQ. 'WEA' ) THEN 
     111 
     112         zp(1) = -0.0571;      zp(2) = -5.7866e-05 
     113         zp(3) = -3.0716e-07;  zp(4) = 1.4240e-10 
     114         zp(5) = 2.1844e-12;   zp(6) = -1.7638e-14 
     115 
     116         t_bo_b(ji)   = 273.15 
     117         DO ii = 1, 6 
     118            t_bo_b(ji) = t_bo_b(ji) + zp(ii)*oce_sal**ii 
     119         ENDDO 
     120 
     121      ENDIF 
     122 
    89123 
    90124      !---------------------- 
  • branches/2016/dev_v3.20_2016_gravity_drainage/SOURCES/source_3.20/ice_phy_param.f

    r4 r9  
    110110      oce_sal = 34.0              ! 34. is the control 
    111111 
    112       visc_br = 1.79e-3           ! dynamic viscosity of water at 0C  
    113       beta_ocs= 0.81              ! regulates density changes due to changes in salinity 
     112      visc_br = 1.9e-3            ! dynamic viscosity of water at 0C (kg/(m.s)) - Sharqawy et al, 2010, eq. 22 
     113      thdiff_br = 1.2e-7          ! thermal diffusivity of brine (m2/s) - Notz and Worster, 2008 
     114      beta_ocs  = 0.81            ! haline expansion coefficient (kg/m3)/(g/kg) (TEOS10) 
    114115 
    115116      !----------------- 
     
    187188      READ(25,*) ra_smooth        ! coefficient to smooth the hyperbolic tangential for ra_c 
    188189      READ(25,*) 
    189       READ(25,'(a2)') gravdr      ! type of gravity drainage 
     190      READ(25,'(a2)') c_gravdr    ! type of gravity drainage 
     191      READ(25,*) 
     192      READ(25,'(a3)') c_sbr       ! type of brine salinity for salt advection 
     193      READ(25,*) 
     194      READ(25,'(a3)') c_perm      ! type of permeability  
     195      READ(25,*) 
     196      READ(25,'(a3)') c_permeff   ! type of effective permeability 
    190197      READ(25,*) 
    191198      READ(25,*) delta_cw         ! Cox and weeks gravity drainage parameter 
     
    249256      WRITE(numout,*) ' ra_c       :', ra_c 
    250257      WRITE(numout,*) ' ra_smooth  :', ra_smooth 
    251       WRITE(numout,*) ' gravdr     :', gravdr 
     258      WRITE(numout,*) ' c_gravdr   :', c_gravdr 
     259      WRITE(numout,*) ' c_sbr      :', c_sbr 
    252260      WRITE(numout,*) ' delta_cw   :', delta_cw 
    253261      WRITE(numout,*) ' emig        :', emig 
  • branches/2016/dev_v3.20_2016_gravity_drainage/SOURCES/source_3.20/ice_th.f

    r4 r9  
    100100      ENDIF 
    101101 
    102       IF ( gravdr .EQ. 'CW' ) 
     102      IF ( c_gravdr .EQ. 'CW' ) 
    103103     &   CALL ice_sal_diff_CW(nlay_i,1,1)                       ! Salt transport (Cox and Weeks) 
    104104 
    105       IF ( gravdr .EQ. 'RA' ) 
    106      &   CALL ice_sal_diff(nlay_i,1,1)                          ! Salt transport (Rayleigh-number based) 
     105      IF ( c_gravdr .EQ. 'DI' ) 
     106     &   CALL ice_sal_diff(nlay_i,1,1)                          ! Salt transport (Eddy-diffusion-based) 
     107 
     108      IF ( c_gravdr .EQ. 'AD' ) 
     109     &   CALL ice_sal_adv(nlay_i,1,1)                           ! Salt transport (Advection-based) 
    107110 
    108111      IF ( ( c_bio_model .EQ. 'KRILL' ) .AND. ln_trdiff ) 
  • branches/2016/dev_v3.20_2016_gravity_drainage/SOURCES/source_3.20/ice_th_diff.f

    r4 r9  
    633633      ENDIF 
    634634! 
    635 !-------------------------------------------------------------------------- 
    636 !   12) Update atmospheric heat fluxes and energy of melting              | 
    637 !-------------------------------------------------------------------------- 
     635!---------------------------------------------------------------------------- 
     636!   12) Update atmospheric heat fluxes, energy of melting and interfacial T | 
     637!---------------------------------------------------------------------------- 
    638638! 
    639639      ! pressure of water vapor saturation (Pa) 
     
    656656      ! ice energy of melting 
    657657      CALL ice_th_enmelt(kideb, kiut, nlay_s, nlay_i)  
    658        
     658 
     659      !---------------------------------------------------------- 
     660      ! Interfacial temperatures (for salinity advection scheme) 
     661      !---------------------------------------------------------- 
     662 
     663      ! Uppermost ice temperature 
     664      IF ( ht_s_b(ji) .LE. 0. ) THEN  
     665         t_i_int(ji,1) = t_su_b(ji) 
     666      ELSE 
     667         zk            = xkg + betak1*s_i_b(ji,1)  
     668     &                 / MIN( -zeps , t_i_b(ji,1) - tpw )  
     669     &                 - betak2* ( t_i_b(ji,1) - tpw ) 
     670         zk            = MAX( zk, zkimin , zkimin ) 
     671         zdummy1       = zk      * ht_s_b(ji) * t_s_b(ji,1) +  
     672     &                   ykn(ji) * deltaz_i_phy(1) * t_i_b(ji,1) 
     673         zdummy2       = zk      * ht_s_b(ji) + 
     674     &                   ykn(ji) * deltaz_i_phy(1) 
     675         t_i_int(ji,1) = zdummy1 / zdummy2 
     676      ENDIF 
     677 
     678      ! Inner ice temperatures 
     679      DO layer = 2, nlay_i 
     680         t_i_int(ji,layer) =    
     681     &             t_i_b(ji,layer-1) + deltaz_i_phy(layer-1) / 2. *  
     682     &             ( t_i_b(ji,layer) - t_i_b(ji,layer-1) ) / 
     683     &             ( z_i_phy(layer) - z_i_phy(layer-1) )  
     684      END DO 
     685 
     686      ! Basal ice temperature 
     687      t_i_int(ji,nlay_i+1) = t_bo_b(ji) 
     688 
    659689      IF ( ln_write ) THEN 
    660690         WRITE(numout,*) ' nconv : ', nconv 
     
    663693         WRITE(numout,*) ' t_s_b : ', ( t_s_b(ji,layer),  
    664694     &                      layer = 1, nlay_s ) 
     695         WRITE(numout,*) ' t_i_int : ', ( t_i_int(ji,layer), 
     696     &                      layer = 1, nlay_i+1 ) 
    665697         WRITE(numout,*) ' t_i_b : ', ( t_i_b(ji,layer),  
    666698     &                      layer = 1, nlay_i ) 
    667699         WRITE(numout,*) ' t_bo_b : ', t_bo_b(ji) 
     700       
    668701         WRITE(numout,*) 
    669702      ENDIF 
  • branches/2016/dev_v3.20_2016_gravity_drainage/SOURCES/source_3.20/thermo.com

    r4 r9  
    5656      common/diff/ht_s_b(nbpt),ht_i_b(nbpt),ht_w_b(nbpt),t_su_b(nbpt), 
    5757     &            t_bo_b(nbpt),t_i_b(nbpt,maxnlay),t_s_b(nbpt,maxnlay), 
     58     &            t_i_int(nbpt,maxnlay+1), 
    5859     &            s_i_b(nbpt,maxnlay),h_i(maxnlay),h_s(maxnlay), 
    5960     &            sn_i_b(maxnlay), 
Note: See TracChangeset for help on using the changeset viewer.