CH-Earth / summa

Structure for Unifying Multiple Modeling Alternatives:
http://www.ral.ucar.edu/projects/summa
GNU General Public License v3.0
79 stars 103 forks source link

bugfix/sunGeomtry: solar angle during polar days #482

Closed wknoben closed 2 years ago

wknoben commented 2 years ago

Make sure all the relevant boxes are checked (and only check the box if you actually completed the step):

Issue

Variable scalarCosZenith (solar angle) gets incorrectly set to 0 during polar days. There should be no sunset, but solar angle = 0 implies the sun is constantly below the horizon; i.e. constant night.

Test case 1

Left: scalarCosZenith before fixes. Solar angle = 0 (sun below horizon) for June and parts of July. Incoming shortwave shows that this is incorrect.

Right: scalarCosZenith after applied fixes.

image

Test case 2

Fix applies to both hemispheres (top: Northern Hemisphere; bottom: Southern Hemisphere).

image

Test case 3

All standard test cases complete bit for bit identical.

python check_bit_4_bit.py ./output/ ./output_new_summa/
Test   0 - Filename: celia1990_testSumma_timestep.nc                                  - Total difference: 0.0
Test   1 - Filename: colbeck1976-exp1_testSumma_timestep.nc                           - Total difference: 0.0
Test   2 - Filename: colbeck1976-exp2_testSumma_timestep.nc                           - Total difference: 0.0
Test   3 - Filename: colbeck1976-exp3_testSumma_timestep.nc                           - Total difference: 0.0
Test   4 - Filename: millerClay_testSumma_timestep.nc                                 - Total difference: 0.0
Test   5 - Filename: millerLoam_testSumma_timestep.nc                                 - Total difference: 0.0
Test   6 - Filename: millerSand_testSumma_timestep.nc                                 - Total difference: 0.0
Test   7 - Filename: mizoguchi1990_testSumma_timestep.nc                              - Total difference: 0.0
Test   8 - Filename: vanderborght2005_exp1_testSumma_timestep.nc                      - Total difference: 0.0
Test   9 - Filename: vanderborght2005_exp2_testSumma_timestep.nc                      - Total difference: 0.0
Test  10 - Filename: vanderborght2005_exp3_testSumma_timestep.nc                      - Total difference: 0.0
Test  11 - Filename: syntheticHillslope-exp1_testSumma_timestep.nc                    - Total difference: 0.0
Test  12 - Filename: syntheticHillslope-exp2_testSumma_timestep.nc                    - Total difference: 0.0
Test  13 - Filename: vegImpactsRad_riparianAspenBeersLaw_timestep.nc                  - Total difference: 0.0
Test  14 - Filename: vegImpactsRad_riparianAspenCLM2stream_timestep.nc                - Total difference: 0.0
Test  15 - Filename: vegImpactsRad_riparianAspenNLscatter_timestep.nc                 - Total difference: 0.0
Test  16 - Filename: vegImpactsRad_riparianAspenUEB2stream_timestep.nc                - Total difference: 0.0
Test  17 - Filename: vegImpactsRad_riparianAspenVegParamPerturb_timestep.nc           - Total difference: 0.0
Test  18 - Filename: vegImpactsWind_riparianAspenWindParamPerturb_timestep.nc         - Total difference: 0.0
Test  19 - Filename: vegImpactsWind_riparianAspenExpWindProfile_timestep.nc           - Total difference: 0.0
Test  20 - Filename: storckSite_hedpom9697_timestep.nc                                - Total difference: 0.0
Test  21 - Filename: storckSite_hedpom9798_timestep.nc                                - Total difference: 0.0
Test  22 - Filename: storckSite_storck9697_timestep.nc                                - Total difference: 0.0
Test  23 - Filename: storckSite_storck9798_timestep.nc                                - Total difference: 0.0
Test  24 - Filename: albedoTest_reynoldsConstantDecayRate_timestep.nc                 - Total difference: 0.0
Test  25 - Filename: albedoTest_reynoldsVariableDecayRate_timestep.nc                 - Total difference: 0.0
Test  26 - Filename: albedoTest_senatorConstantDecayRate_timestep.nc                  - Total difference: 0.0
Test  27 - Filename: albedoTest_senatorVariableDecayRate_timestep.nc                  - Total difference: 0.0
Test  28 - Filename: vegImpactsTranspire_ballBerry_timestep.nc                        - Total difference: 0.0
Test  29 - Filename: vegImpactsTranspire_jarvis_timestep.nc                           - Total difference: 0.0
Test  30 - Filename: vegImpactsTranspire_simpleResistance_timestep.nc                 - Total difference: 0.0
Test  31 - Filename: vegImpactsTranspire_perturbRoots_timestep.nc                     - Total difference: 0.0
Test  32 - Filename: basinRunoff_1dRichards_timestep.nc                               - Total difference: 0.0
Test  33 - Filename: basinRunoff_distributedTopmodel_timestep.nc                      - Total difference: 0.0
Test  34 - Filename: basinRunoff_lumpedTopmodel_timestep.nc                           - Total difference: 0.0
SUCCESSFUL TEST RUN: All files match!