Warning: Undefined array key 1 in /home/np29546/public_html/elmerice/wiki/inc/auth.php on line 78

Warning: Cannot modify header information - headers already sent by (output started at /home/np29546/public_html/elmerice/wiki/inc/auth.php:78) in /home/np29546/public_html/elmerice/wiki/inc/auth.php on line 431

Warning: Cannot modify header information - headers already sent by (output started at /home/np29546/public_html/elmerice/wiki/inc/auth.php:78) in /home/np29546/public_html/elmerice/wiki/inc/actions.php on line 38
solvers:surfaceboundaryenthalpy [Elmer/Ice Wiki]

Warning: Undefined array key -1 in /home/np29546/public_html/elmerice/wiki/inc/html.php on line 1458

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
solvers:surfaceboundaryenthalpy [2020/05/15 13:28]
adriengilbert
solvers:surfaceboundaryenthalpy [2020/05/18 11:06] (current)
adriengilbert
Line 4: Line 4:
  
   * **Solver Fortran File:** ''SurfaceBoundaryEnthalpy.f90''   * **Solver Fortran File:** ''SurfaceBoundaryEnthalpy.f90''
-  * **Solver Name:** ''SurfBoundarySolver'' +  * **Solver Name:** ''SurfEnthBoundarySolver'' 
-  * **Required Output Variable(s):** ''Surf Enth''''Mass Balance'', ''Densi'', ''Firn'', ''Melting'', ''Refreeze'', ''Accu'', ''Rad_Fact'', ''Rain'', ''PotRad''+  * **Required Output Variable(s):** ''Surf Enth'' 
 +  * **Optional Output Variable(s):** ''Mass Balance'', ''Densi'', ''Firn'', ''Melting'', ''Refreeze'', ''Accu'', ''Rad_Fact'', ''Rain'', ''PotRad''
   * **Required Input Variable(s):** ''Depth'' and ''SurfGrad'' from the FlowDepth Solver   * **Required Input Variable(s):** ''Depth'' and ''SurfGrad'' from the FlowDepth Solver
   * **Input Data:** Daily air temperature timeserie   * **Input Data:** Daily air temperature timeserie
   * **Optional Input Data:**  Daily precipitation timeserie   * **Optional Input Data:**  Daily precipitation timeserie
 +
 +For vertically structured 3D mesh only. Works in serial and parallel.
  
  
 ==== General Description ==== ==== General Description ====
  
-SurfBoundarySolver is a pseudo-solver which compute surface mass balance and Dirichlet surface boundary condition for the Enthalpy solver. It takes into account firn heating processes by solving vertical melt-water percolation and refreezing.+SurfEnthBoundarySolver is a pseudo-solver which compute surface mass balance and Dirichlet surface boundary condition for the Enthalpy solver. It takes into account firn heating processes by solving vertical melt-water percolation and refreezing.
  
-The solver uses the provided air temperature (and precipitation) daily record to compute the associated mean surface characteristic of the glacier over the time period covered by the provided data time-serie. It outputs the following variables:+The solver uses the provided air temperature (and precipitation) daily record to compute the associated mean surface characteristic of the glacier over the time period covered by the provided data time-serie. It can output the following variables:
  
         - ''Mass Balance'' (m w.eq./yr): Mean surface mass balance          - ''Mass Balance'' (m w.eq./yr): Mean surface mass balance 
Line 30: Line 33:
 The mass balance model is based on a degree day model that takes into account potential solar radiation. Mean Enthalpy at 10m-depth (bellow active layer), is computed by solving the heat equation on a 1D vertical profile forced by a mean annual cycle of air temperature and precipitation determined from the data. This is done for each surface nodes using a Crank-Nicholson scheme on a 6 cm resolution grid at daily time-step. It takes into account of seasonal change of the density profile and allow percolation of water only where density is lower than 800 kg/m3. More details about the model can be found in: The mass balance model is based on a degree day model that takes into account potential solar radiation. Mean Enthalpy at 10m-depth (bellow active layer), is computed by solving the heat equation on a 1D vertical profile forced by a mean annual cycle of air temperature and precipitation determined from the data. This is done for each surface nodes using a Crank-Nicholson scheme on a 6 cm resolution grid at daily time-step. It takes into account of seasonal change of the density profile and allow percolation of water only where density is lower than 800 kg/m3. More details about the model can be found in:
  
 +Gilbert, A., Sinisalo, A., Gurung, T. R., Fujita, K., Maharjan, S. B., Sherpa, T. C., & Fukuda, T. (2020). The influence of water percolation through crevasses on the thermal regime of a Himalayan mountain glacier. The Cryosphere, 14(4), 1273–1288. https://doi.org/10.5194/tc-14-1273-2020
 +
 +==== SIF contents ====
 +
 +The parameters are set in the constant section of the sif file :
 +
 +<code>
 +Constants
 +
 +  rho_surf = real 350.0 ! Snow surface density
 +  rho_ice = real 917.0 ! Ice density
 +  rho_w = real 1000.0 ! Water density
 +  Sr = real 0.005 ! Residual water saturation in Snow/Firn
 +  T_ref_enthalpy = real 200.0   ! Use to compute Surf Enth (see Enthalpy solver)
 +  L_heat = real 334000.0        ! Latent heat of fusion
 +
 +  AirTemperatureFile = File "YourTempFile.dat"  ! Contain daily temperature data
 +  PrecipFile = File "YourPrecipFile.dat"  ! Contain daily precipitation data (optional)
 +    
 +  Precip = real 0.300  !Mean annual precipitation if PrecipFile not provided
 +  TempCorrec= real -0.12 !Possibility of shifting temperature to get steady state mass balance for example (optional)
 +  PrecipCorrec = real 1.0 !Possibility of adding a correcting factor on precipitation if PrecipFile provided (optional)
 +  
 +  GradTemp = real 0.0065 !Air temperature Lapse Rate (K m^-1)
 +  GradPrecip= real 0.001 !Precipitation Lapse Rate (% m^-1)
 +  z_temp = real 5310.0 !Elevation of temperature measurement from AirTemperatureFile (m)
 +  z_precip = real 5310.0 !Elevation of Precipitation measurement (m)
 +  
 +  RadFact_ice = real 0.0000925 ! Melting factor for ice from radiation
 +  RadFact_snow = real $0.0000925/2.0 ! Melting factor for snow from radiation
 +  Deg_jour = real 0.0114 ! Melting factor from air temperature
 +  
 +  seuil_precip = real 2.0 !Rain/Snow air temperature threshold (degree C)
 +  seuil_fonte = real 0.0 !Melting air temperature threshold (degree C)
 +  
 +  firn_param = real 30.0 ! Firn densification factor (yr)
 +  super_ice = real 0.15 ! Superimposed ice factor
 +  
 +  Latitude = real 28.82 !Latitude (degree) to compute Potential Solar Radiation
 +  
 +  !Possibility to export 1D profile simulation at one node of coordinate (X_output1D,Y_output1D) (optional)
 +  X_output1D = real x_coordinate
 +  Y_output1D = real y_coordinate
 +  
 +
 +End
 +</code>
 +
 +The solver needs output from the FlowDepth Solver :
 +
 +<code>
 +Solver 1
 +
 +  Equation = "Flowdepth"
 +   Procedure = File "ElmerIceSolvers" "FlowDepthSolver"
 +   Variable = String "Depth"
 +   Variable DOFs = 1
 +   Linear System Solver = "Direct"
 +   ! this sets the direction
 +   ! -1 is negative z-direction (upside down)
 +   ! +1 is positive (downside up)
 +   Gradient = Real -1.0E00
 +   Calc Free Surface = Logical True
 +   Freesurf Name = String "Surf"
 +End
 +</code>
 +
 +The solver is called with the following:
 +
 +<code>
 +Solver 2
 +
 +  Equation = SurfBoundary
 +  Variable = Surf Enth
 +  Variable DOFs = 1
 +  procedure =  "ElmerIceSolvers" "SurfEnthBoundarySolver"
 +
 +  ! The following variables declaration are optional:
 +  
 +  Exported Variable 1 = String "Mass Balance"
 +  Exported Variable 1 DOFs = 1
 +
 +  Exported Variable 2 = String "Densi"
 +  Exported Variable 2 DOFs = 1
 +
 +  Exported Variable 3 = String "Firn"
 +  Exported Variable 3 DOFs = 1
 +  
 +  Exported Variable 4 = String "Melting"
 +  Exported Variable 4 DOFs = 1
 +
 +  Exported Variable 5 = String "Refreeze"
 +  Exported Variable 5 DOFs = 1
 +
 +  Exported Variable 6 = String "Accu"
 +  Exported Variable 6 DOFs = 1
 +
 +  Exported Variable 7 = String "Rad_Fact"
 +  Exported Variable 7 DOFs = 1
 +  
 +  Exported Variable 8 = String "Rain"
 +  Exported Variable 8 DOFs = 1
 +  
 +  Exported Variable 9 = String "PotRad"
 +  Exported Variable 9 DOFs = 1
 +
 +End
 +</code>
 +
 +Boundary Condition to setup Dirichlet condition for the Enthalpy Solver:
 +
 +<code>
 +! Upper Surface
 +Boundary Condition 2
 +  Target Boundaries = 2
 +   
 +  Depth = real 0.0
 +  Enthalpy_h = Equals Surf Enth 
 +
 +End
 +</code>
 +
 +==== Examples ====
 +An example solving for the enthalpy within the Rika Samba Glacier using the SurfEnthBoundarySolver can be found in ''[ELMER_TRUNK]/elmerice/examples/Test_SurfaceBoundaryEnth''.
 +
 +==== Reference ====
 +
 +Gilbert, A., Sinisalo, A., Gurung, T. R., Fujita, K., Maharjan, S. B., Sherpa, T. C., & Fukuda, T. (2020). The influence of water percolation through crevasses on the thermal regime of a Himalayan mountain glacier. The Cryosphere, 14(4), 1273–1288. https://doi.org/10.5194/tc-14-1273-2020
  
solvers/surfaceboundaryenthalpy.1589549282.txt.gz · Last modified: 2020/05/15 13:28 by adriengilbert
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0