Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inappropriate choice for default initial soil temperature in absence of initial state file #424

Closed
tbohn opened this issue Mar 25, 2016 · 3 comments
Assignees
Milestone

Comments

@tbohn
Copy link
Contributor

tbohn commented Mar 25, 2016

Currently, the default initial soil temperature in the absence of an initial state file is set to the air temperature of the first time step.

A better choice (closer to equilibrium) would be soil_con.avg_temp, as long as this has been supplied. This would reduce the amount of time necessary to spin up to a usable initial state. This would also provide a potential solution to the TBD in vic_populate_model_state().

@jhamman
Copy link
Member

jhamman commented Mar 25, 2016

Naive question: would it be possible to remove any dependence on the first timestep of met forcings? If so, this would be idea of the CESM driver where we don't get the first timesteps forcings during initialization.

@tbohn
Copy link
Contributor Author

tbohn commented Mar 25, 2016

Not naive at all. If the annual average soil temperature is supplied in the soil parameter file (which is required as the bottom boundary condition for the full_energy case) then we can use that to initialize soil temperatures. All we need to do is modify the logic in read_soilparam() and vic_init() to require annual average soil temperature to be supplied if an initial state file is not supplied.

Obviously requiring an initial state file for all simulations in the first place would eliminate this problem. However, for now, this would solve the immediate problem. And I still feel that we should let the ability to choose default initial states remain as a vic feature, since vic already has all the information needed to make such a choice. But I realize that I will likely be out-voted on that one.

Anyway: here's what I propose:

  1. modify the logic in read_soilparam() and vic_init() to require average annual soil temperature if an initial state file hasn't been supplied OR if FULL_ENERGY is true (OR if LAKES is true).
  2. initialize soil (and lake) temperatures to soil_con.avg_temp in the absence of an initial state file in initialize_model_state() (and initialize_lake()).
  3. eliminate surf_temp as an input argument to initialize_model_state() (and initialize_lake()).

@jhamman
Copy link
Member

jhamman commented Apr 14, 2016

closed via #464

@jhamman jhamman closed this as completed Apr 14, 2016
@jhamman jhamman added this to the 5.0 milestone Apr 14, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants