VARphy.f90 Source File


Files dependent on this one

sourcefile~~varphy.f90~~AfferentGraph sourcefile~varphy.f90 VARphy.f90 sourcefile~sisvat_bsn.f90~2 sisvat_bsn.f90 sourcefile~sisvat_bsn.f90~2->sourcefile~varphy.f90 sourcefile~sisvat_qsn.f90~2 sisvat_qsn.f90 sourcefile~sisvat_qsn.f90~2->sourcefile~varphy.f90 sourcefile~sisvat_zcr.f90 sisvat_zcr.f90 sourcefile~sisvat_zcr.f90->sourcefile~varphy.f90 sourcefile~sisvat_bsn.f90 sisvat_bsn.f90 sourcefile~sisvat_bsn.f90->sourcefile~varphy.f90 sourcefile~surf_inlandsis_mod.f90 surf_inlandsis_mod.f90 sourcefile~surf_inlandsis_mod.f90->sourcefile~varphy.f90 sourcefile~sisvat_gsn.f90~2 sisvat_gsn.f90 sourcefile~sisvat_gsn.f90~2->sourcefile~varphy.f90 sourcefile~sisvat_weq_mod.f90 sisvat_weq_mod.f90 sourcefile~sisvat_weq_mod.f90->sourcefile~varphy.f90 sourcefile~sisvat_zsn.f90 sisvat_zsn.f90 sourcefile~sisvat_zsn.f90->sourcefile~varphy.f90 sourcefile~sisvat_tso.f90~2 sisvat_tso.f90 sourcefile~sisvat_tso.f90~2->sourcefile~varphy.f90 sourcefile~sisvat_tso.f90 sisvat_tso.f90 sourcefile~sisvat_tso.f90->sourcefile~varphy.f90 sourcefile~inlandsis.f90~2 inlandsis.f90 sourcefile~inlandsis.f90~2->sourcefile~varphy.f90 sourcefile~sisvat_sno_albedo.f90 sisvat_sno_albedo.f90 sourcefile~sisvat_sno_albedo.f90->sourcefile~varphy.f90 sourcefile~inlandsis.f90 inlandsis.f90 sourcefile~inlandsis.f90->sourcefile~varphy.f90 sourcefile~sisvat_ts2.f90 sisvat_ts2.f90 sourcefile~sisvat_ts2.f90->sourcefile~varphy.f90 sourcefile~sisvat_weq_mod.f90~2 sisvat_weq_mod.f90 sourcefile~sisvat_weq_mod.f90~2->sourcefile~varphy.f90 sourcefile~sisvat_qso.f90 sisvat_qso.f90 sourcefile~sisvat_qso.f90->sourcefile~varphy.f90 sourcefile~sisvat_zag.f90~2 sisvat_zag.f90 sourcefile~sisvat_zag.f90~2->sourcefile~varphy.f90 sourcefile~sisvat_zcr.f90~2 sisvat_zcr.f90 sourcefile~sisvat_zcr.f90~2->sourcefile~varphy.f90 sourcefile~sisvat_ts2.f90~2 sisvat_ts2.f90 sourcefile~sisvat_ts2.f90~2->sourcefile~varphy.f90 sourcefile~sisvat_qsn.f90 sisvat_qsn.f90 sourcefile~sisvat_qsn.f90->sourcefile~varphy.f90 sourcefile~surf_inlandsis_mod.f90~2 surf_inlandsis_mod.f90 sourcefile~surf_inlandsis_mod.f90~2->sourcefile~varphy.f90 sourcefile~sisvat_qso.f90~2 sisvat_qso.f90 sourcefile~sisvat_qso.f90~2->sourcefile~varphy.f90 sourcefile~sisvat_gsn.f90 sisvat_gsn.f90 sourcefile~sisvat_gsn.f90->sourcefile~varphy.f90 sourcefile~sisvat_zag.f90 sisvat_zag.f90 sourcefile~sisvat_zag.f90->sourcefile~varphy.f90 sourcefile~sisvat_sno_albedo.f90~2 sisvat_sno_albedo.f90 sourcefile~sisvat_sno_albedo.f90~2->sourcefile~varphy.f90 sourcefile~sisvat_zsn.f90~2 sisvat_zsn.f90 sourcefile~sisvat_zsn.f90~2->sourcefile~varphy.f90 sourcefile~surf_landice_mod.f90 surf_landice_mod.F90 sourcefile~surf_landice_mod.f90->sourcefile~surf_inlandsis_mod.f90 sourcefile~surf_landice_mod.f90~2 surf_landice_mod.F90 sourcefile~surf_landice_mod.f90~2->sourcefile~surf_inlandsis_mod.f90 sourcefile~pbl_surface_mod.f90 pbl_surface_mod.F90 sourcefile~pbl_surface_mod.f90->sourcefile~surf_landice_mod.f90 sourcefile~pbl_surface_mod.f90~2 pbl_surface_mod.F90 sourcefile~pbl_surface_mod.f90~2->sourcefile~surf_landice_mod.f90 sourcefile~old_lmdz1d.f90 old_lmdz1d.f90 sourcefile~old_lmdz1d.f90->sourcefile~pbl_surface_mod.f90 sourcefile~phyaqua_mod.f90 phyaqua_mod.F90 sourcefile~old_lmdz1d.f90->sourcefile~phyaqua_mod.f90 sourcefile~physiq_mod.f90 physiq_mod.F90 sourcefile~old_lmdz1d.f90->sourcefile~physiq_mod.f90 sourcefile~iniphysiq_mod.f90 iniphysiq_mod.F90 sourcefile~old_lmdz1d.f90->sourcefile~iniphysiq_mod.f90 sourcefile~change_srf_frac_mod.f90 change_srf_frac_mod.f90 sourcefile~change_srf_frac_mod.f90->sourcefile~pbl_surface_mod.f90 sourcefile~phyredem.f90 phyredem.F90 sourcefile~phyredem.f90->sourcefile~pbl_surface_mod.f90 sourcefile~create_etat0_unstruct_mod.f90 create_etat0_unstruct_mod.f90 sourcefile~create_etat0_unstruct_mod.f90->sourcefile~pbl_surface_mod.f90 sourcefile~phyaqua_mod.f90->sourcefile~pbl_surface_mod.f90 sourcefile~physiq_mod.f90->sourcefile~pbl_surface_mod.f90 sourcefile~physiq_mod.f90->sourcefile~change_srf_frac_mod.f90 sourcefile~physiq_mod.f90->sourcefile~phyaqua_mod.f90 sourcefile~phyetat0_mod.f90 phyetat0_mod.F90 sourcefile~physiq_mod.f90->sourcefile~phyetat0_mod.f90 sourcefile~phys_output_write_mod.f90 phys_output_write_mod.F90 sourcefile~physiq_mod.f90->sourcefile~phys_output_write_mod.f90 sourcefile~phys_output_write_spl_mod.f90 phys_output_write_spl_mod.F90 sourcefile~physiq_mod.f90->sourcefile~phys_output_write_spl_mod.f90 sourcefile~diag_slp.f90 diag_slp.f90 sourcefile~physiq_mod.f90->sourcefile~diag_slp.f90 sourcefile~phys_output_mod.f90 phys_output_mod.F90 sourcefile~physiq_mod.f90->sourcefile~phys_output_mod.f90 sourcefile~physiqex_mod.f90 physiqex_mod.F90 sourcefile~physiq_mod.f90->sourcefile~physiqex_mod.f90 sourcefile~create_etat0_limit_unstruct_mod.f90 create_etat0_limit_unstruct_mod.f90 sourcefile~physiq_mod.f90->sourcefile~create_etat0_limit_unstruct_mod.f90 sourcefile~etat0phys_netcdf.f90 etat0phys_netcdf.f90 sourcefile~etat0phys_netcdf.f90->sourcefile~pbl_surface_mod.f90 sourcefile~phyetat0_mod.f90->sourcefile~pbl_surface_mod.f90 sourcefile~scm.f90 scm.f90 sourcefile~scm.f90->sourcefile~pbl_surface_mod.f90 sourcefile~scm.f90->sourcefile~phyaqua_mod.f90 sourcefile~scm.f90->sourcefile~physiq_mod.f90 sourcefile~scm.f90->sourcefile~iniphysiq_mod.f90 sourcefile~phys_output_write_mod.f90->sourcefile~pbl_surface_mod.f90 sourcefile~phys_output_write_spl_mod.f90->sourcefile~pbl_surface_mod.f90 sourcefile~create_etat0_unstruct_mod.f90~2 create_etat0_unstruct_mod.f90 sourcefile~create_etat0_unstruct_mod.f90~2->sourcefile~pbl_surface_mod.f90 sourcefile~physiq_mod.f90~2 physiq_mod.F90 sourcefile~physiq_mod.f90~2->sourcefile~pbl_surface_mod.f90 sourcefile~physiq_mod.f90~2->sourcefile~change_srf_frac_mod.f90 sourcefile~physiq_mod.f90~2->sourcefile~phyaqua_mod.f90 sourcefile~physiq_mod.f90~2->sourcefile~phyetat0_mod.f90 sourcefile~physiq_mod.f90~2->sourcefile~phys_output_write_mod.f90 sourcefile~physiq_mod.f90~2->sourcefile~phys_output_write_spl_mod.f90 sourcefile~physiq_mod.f90~2->sourcefile~diag_slp.f90 sourcefile~physiq_mod.f90~2->sourcefile~phys_output_mod.f90 sourcefile~physiq_mod.f90~2->sourcefile~physiqex_mod.f90 sourcefile~physiq_mod.f90~2->sourcefile~create_etat0_limit_unstruct_mod.f90 sourcefile~phys_output_write_spl_mod.f90~2 phys_output_write_spl_mod.F90 sourcefile~phys_output_write_spl_mod.f90~2->sourcefile~pbl_surface_mod.f90 sourcefile~phys_output_write_mod.f90~2 phys_output_write_mod.F90 sourcefile~phys_output_write_mod.f90~2->sourcefile~pbl_surface_mod.f90 sourcefile~iniphysiq_mod.f90->sourcefile~phyaqua_mod.f90 sourcefile~create_etat0_limit_unstruct_mod.f90~2 create_etat0_limit_unstruct_mod.f90 sourcefile~create_etat0_limit_unstruct_mod.f90~2->sourcefile~create_etat0_unstruct_mod.f90 sourcefile~create_etat0_limit_unstruct_mod.f90~2->sourcefile~phyaqua_mod.f90 sourcefile~diag_slp.f90->sourcefile~phys_output_write_mod.f90 sourcefile~phys_output_mod.f90->sourcefile~phys_output_write_mod.f90 sourcefile~diag_slp.f90~2 diag_slp.f90 sourcefile~diag_slp.f90~2->sourcefile~phys_output_write_mod.f90 sourcefile~callphysiq_mod.f90 callphysiq_mod.f90 sourcefile~callphysiq_mod.f90->sourcefile~physiq_mod.f90 sourcefile~physiqex_mod.f90->sourcefile~phyetat0_mod.f90 sourcefile~ce0l.f90 ce0l.F90 sourcefile~ce0l.f90->sourcefile~etat0phys_netcdf.f90 sourcefile~ce0l.f90->sourcefile~iniphysiq_mod.f90 sourcefile~phys_output_mod.f90~2 phys_output_mod.F90 sourcefile~phys_output_mod.f90~2->sourcefile~phys_output_write_mod.f90 sourcefile~create_etat0_limit_unstruct_mod.f90->sourcefile~create_etat0_unstruct_mod.f90 sourcefile~create_etat0_limit_unstruct_mod.f90->sourcefile~phyaqua_mod.f90 sourcefile~iniphysiq_mod.f90~2 iniphysiq_mod.F90 sourcefile~iniphysiq_mod.f90~2->sourcefile~phyaqua_mod.f90 sourcefile~callphysiq_mod.f90~2 callphysiq_mod.f90 sourcefile~callphysiq_mod.f90~2->sourcefile~physiq_mod.f90 sourcefile~physiqex_mod.f90~2 physiqex_mod.F90 sourcefile~physiqex_mod.f90~2->sourcefile~phyetat0_mod.f90 sourcefile~recmwf_aero.f90 recmwf_aero.F90 sourcefile~recmwf_aero.f90->sourcefile~phys_output_mod.f90 sourcefile~gcm.f90 gcm.F90 sourcefile~gcm.f90->sourcefile~iniphysiq_mod.f90 sourcefile~recmwf_aero.f90~2 recmwf_aero.F90 sourcefile~recmwf_aero.f90~2->sourcefile~phys_output_mod.f90 sourcefile~sw_aeroar4.f90~2 sw_aeroAR4.f90 sourcefile~sw_aeroar4.f90~2->sourcefile~phys_output_mod.f90 sourcefile~calfis.f90 calfis.f90 sourcefile~calfis.f90->sourcefile~callphysiq_mod.f90 sourcefile~replay3d.f90 replay3d.f90 sourcefile~replay3d.f90->sourcefile~iniphysiq_mod.f90 sourcefile~sw_aeroar4.f90 sw_aeroAR4.f90 sourcefile~sw_aeroar4.f90->sourcefile~phys_output_mod.f90

Contents

Source Code


Source Code

MODULE VARphy


IMPLICIT NONE



! Etienne, 08112020: merging YOMCST_SISVAT,  PHY_SV and VARphy
! but redundancies remain
!
!  ATTENTION!!!!: ce fichier include est compatible format fixe/format libre
!                 veillez à n'utiliser que des ! pour les commentaires
!                 et à bien positionner les & des lignes de continuation
!                 (les placer en colonne 6 et en colonne 73)
!
!
! A1.0 Fundamental constants
!----------------------------
! Constants
                                                                              
      CHARACTER(LEN=1), PARAMETER :: labnum(0:9) =                            &
              (/'0','1','2','3','4','5','6','7','8','9'/)             
!C +...                labnum: Alphanumeric Character      
     
                                                                               
      INTEGER, PARAMETER ::  iun=1                                             
      REAL, PARAMETER    ::  zer0 = 0.0e+0, half = 0.5e+0, un_1 = 1.0e+0,     &
     &                       eps6 = 1.0e-6, R_1000=1.e3   
      REAL, PARAMETER    ::  zero = 0.0e+0, demi = 0.5e+0, unun = 1.0e+0,     &
     &                       epsi = 1.0e-6, eps9 = 1.0e-9         
      REAL               ::  ea_MAX,ea_MIN                                                                               
      REAL, PARAMETER    ::  pi = 3.141592653589793238462643e0
     
! A1.2 Geoide
!-------------
      REAL, PARAMETER    ::  Grav_F = 9.81e0, Grav_I = 1./Grav_F                       
!C +                   Grav_F:  Gravitational  Force         =  9.81    m/s2           
!C +                   Grav_I: 1 / Grav_F                    = 1 /9.81    s2/m    

                                                                               
      REAL, PARAMETER    ::  gravit = 9.81e0,      gravi2 = gravit**2 ,       &
     &                       grvinv = 1./gravit                       
!C +                   gravit: Earth Gravity Acceleration    = 9.81    m/s2    
!C +                   gravi2: idem (squared)                                  
!C +                   grvinv: idem (inverse)                 
! A1.3 Radiation
!----------------
      REAL,PARAMETER :: StefBo=5.67e-8  
!C +                   StefBo: Stefan-Boltzman Constant       =    5.67d-8 W/m2/K4

! A1.4 Thermodynamic 
!-----------------------------
     
      REAL, PARAMETER    ::  cp=1004.708845
                                                       
      REAL, PARAMETER    ::  RVapor=461.e0, Lv_H2O=2.5008e+6,&
     &                       Ls_H2O=2.8345e+6, r_LvCp=2490.04,r_LcCp=332.27,  &
     &                       r_LsCp=2822.31            
!C +                   cp    : dry air specific heat at constant p (1004 J/kg/K) 

      REAL, PARAMETER    ::  LhfH2O=3.34e+5, LhvH2O=2.5008e+6,&
     &                       LhsH2O=2.8345e+6     
      REAL, PARAMETER    ::  rhoWat=1000.00e0    
!C +                   rhoWat: Water Specific Mass            = 1000.00d+0 kg/m3 

      REAL, PARAMETER    ::  rhoIce=920.e0, BSnoRo=3.30e+2, frsno=300.0                             
!C +...                rhoIce:  Density      of Pure Ice      =  920.00d+0 kg/m3
!C +                   BSnoRo : Blowed Snow Density           =  255.00d+0 kg/m3 
                                                                                
      REAL, PARAMETER    ::  Tf_Sno=273.16e+0 
!C +...                Tf_Sno: Snow  Melting  Point           =  273.16    K     


      REAL, PARAMETER    ::  ro_Wat=1000.00e0, C__Wat=4186.00e0
!C +                   ro_Wat: Density       of Water         = 1000.00d+0 kg/m3 
!C +                   C__Wat: Heat Capacity of Water         = 4186.00d+0 J/kg/K
                                                                                
      REAL, PARAMETER    ::  ro_Ice=920.e0, cdice=2.10e0                                 
!C +...                ro_Ice:  Density      of Pure Ice       =  920.00d+0 kg/m3
!C +                   cdice :  Conductivity of Pure Ice       =    2.51d+0 W/m/K
                                                                                
      REAL, PARAMETER    ::  TfSnow=273.15e+0,csnow=2105.00e+0,r0sno=3.00e+1, &
     &                       blsno=3.30e+2,   Lf_H2O=3.337e+5                          
!C +...                TfSnow:        Snow melting Temperature=  273.15d+0 K     
!C +                    csnow:Heat Capacity of Snow             2105      J/kg/K 
!C +                         (Loth et al. 1993, JGR 98 D6, 2.2.2 2e para p.10453)
!C +                   r0sno : Fresh  Snow Density                50.00d+0 kg/m3 
!C +                   blsno : Blowed Snow Density               330.00d+0 kg/m3 
!C +                   Lf_H2O: Latent Heat of Fusion of Snow  =    3.34d+5 J/kg  

! A1.6 Turbulent and molecular diffusion
!----------------------------------------
      REAL, PARAMETER    ::  A_MolV = 1.35e-5, vonKrm = 0.40e0, r_turb=3.0
      REAL, PARAMETER    ::  A_turb=5.8, akmol=1.35e-5
!C +...                A_MolV: Air Viscosity                 = 1.35d-5 m2/s   
!C +                   vonKrm: von Karman constant           = 0.4            
!C +                   r_turb:   Turbulent Diffusivities Ratio K*/Km        
!C +                   A_turb:    Stability  Coefficient Moment                                 
!C +                   Air Viscosity                 = 1.35d-5 m2/s                 



END MODULE VARphy