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

Feature/fix latent heat and longwave coupler fields #695

Merged
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions docs/Development/ReleaseNotes.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@ To check which release of VIC you are running:

Drainage from upper layer to adjacent lower layer is calculated according to Brook & Corey curve (where drainage rate is a function of upper-layer soil moisture). In previous versions, a simple numerical solution is applied which uses the timestep-beginning upper-layer soil moisture to calculate drainage rate, and assume this constant rate over the entire timestep. This can cause unreasonably large drainage if the curve has a steep shape and when soil moisture is high. Now, the current version uses exact integral (instead of numerical solution) for layer drainage calculation.

2. Fixes for the CESM driver ([GH#642](https://github.com/UW-Hydro/VIC/pull/642))
2. Fixes for the CESM driver

([GH#642](https://github.com/UW-Hydro/VIC/pull/642))

1. Using correct fill value datatypes in MPI Gather steps
2. Updated state file name time step to be period-ending rather than period-beginning
Expand All @@ -36,7 +38,12 @@ To check which release of VIC you are running:
7. Fixed bug that prevented using the correct local domain grid cells in `cesm_put_data.c`
8. Changed reference temperature units from Celsius to Kelvin in `cesm_put_data.c`

[GH#696](https://github.com/UW-Hydro/VIC/pull/696)
([GH#695](https://github.com/UW-Hydro/VIC/pull/695))

1. Fix sign for latent heat fluxes passed from VIC to the coupler
2. Fix sign for longwave radiation passed from VIC to the coupler

([GH#696](https://github.com/UW-Hydro/VIC/pull/696))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there was a merge conflict here that I corrected via github, this does't look quite right though. Can you check/fix this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be all fixed now.


1. Changes names of CESM driver functions `trim` and `advance_time` to `trimstr` and `advance_vic_time`, respectively, to avoid conflicts with WRF functions with the same names when compiling RFR case.
------------------------------
Expand Down
4 changes: 2 additions & 2 deletions vic/drivers/cesm/src/cesm_put_data.c
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ vic_cesm_put_data()

// latent heat flux
// CESM units: W m-2
l2x_vic[i].l2x_Fall_lat += -1 * AreaFactor * energy.AtmosLatent;
l2x_vic[i].l2x_Fall_lat += AreaFactor * energy.AtmosLatent;

// sensible heat flux
// CESM units: W m-2
Expand All @@ -258,7 +258,7 @@ vic_cesm_put_data()

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does VIC have different sign conventions for AtmosLatent and AtmosSensible?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They are the same in ~/vic/vic/drivers/shared_all/src/put_data.c, but these sign conventions agree with those in VIC 4 in RASM (e.g. these make the coupler fields for VIC 5 in RASM agree with VIC 4 in RASM).

// upward longwave heat flux
// CESM units: W m-2
l2x_vic[i].l2x_Fall_lwup += AreaFactor *
l2x_vic[i].l2x_Fall_lwup += -1 * AreaFactor *
(force[i].longwave[NR] -
energy.NetLongAtmos);

Expand Down