BESS-JPL 1.26.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. BESS_JPL/BESS_JPL.py +54 -0
  2. BESS_JPL/C3_photosynthesis.py +165 -0
  3. BESS_JPL/C4_fraction.jpeg +0 -0
  4. BESS_JPL/C4_fraction.tif +0 -0
  5. BESS_JPL/C4_fraction.tif.aux.xml +11 -0
  6. BESS_JPL/C4_photosynthesis.py +133 -0
  7. BESS_JPL/ECOv002-cal-val-BESS-JPL-GEOS5FP-inputs.csv +1066 -0
  8. BESS_JPL/ECOv002-cal-val-BESS-JPL-inputs.csv +1066 -0
  9. BESS_JPL/ECOv002-cal-val-BESS-JPL-outputs.csv +1066 -0
  10. BESS_JPL/ECOv002-cal-val-FLiESANN-inputs.csv +1066 -0
  11. BESS_JPL/ECOv002-static-tower-BESS-JPL-inputs.csv +122 -0
  12. BESS_JPL/ECOv002_calval_BESS_inputs.py +30 -0
  13. BESS_JPL/ECOv002_static_tower_BESS_inputs.py +19 -0
  14. BESS_JPL/FVC_from_NDVI.py +22 -0
  15. BESS_JPL/LAI_from_NDVI.py +28 -0
  16. BESS_JPL/NDVI_maximum.jpeg +0 -0
  17. BESS_JPL/NDVI_maximum.tif +0 -0
  18. BESS_JPL/NDVI_minimum.jpeg +0 -0
  19. BESS_JPL/NDVI_minimum.tif +0 -0
  20. BESS_JPL/__init__.py +5 -0
  21. BESS_JPL/ball_berry_intercept_C3.jpeg +0 -0
  22. BESS_JPL/ball_berry_intercept_C3.tif +0 -0
  23. BESS_JPL/ball_berry_slope_C3.jpeg +0 -0
  24. BESS_JPL/ball_berry_slope_C3.tif +0 -0
  25. BESS_JPL/ball_berry_slope_C4.jpeg +0 -0
  26. BESS_JPL/ball_berry_slope_C4.tif +0 -0
  27. BESS_JPL/calculate_VCmax.py +90 -0
  28. BESS_JPL/calculate_bulk_aerodynamic_resistance.py +119 -0
  29. BESS_JPL/calculate_friction_velocity.py +111 -0
  30. BESS_JPL/canopy_energy_balance.py +110 -0
  31. BESS_JPL/canopy_longwave_radiation.py +117 -0
  32. BESS_JPL/canopy_shortwave_radiation.py +276 -0
  33. BESS_JPL/carbon_uptake_efficiency.jpeg +0 -0
  34. BESS_JPL/carbon_uptake_efficiency.tif +0 -0
  35. BESS_JPL/carbon_water_fluxes.py +313 -0
  36. BESS_JPL/colors.py +33 -0
  37. BESS_JPL/constants.py +25 -0
  38. BESS_JPL/exceptions.py +3 -0
  39. BESS_JPL/generate_BESS_GEOS5FP_inputs.py +58 -0
  40. BESS_JPL/generate_BESS_inputs_table.py +186 -0
  41. BESS_JPL/generate_input_dataset.py +243 -0
  42. BESS_JPL/generate_output_dataset.py +26 -0
  43. BESS_JPL/interpolate_C3_C4.py +12 -0
  44. BESS_JPL/kn.jpeg +0 -0
  45. BESS_JPL/kn.tif +0 -0
  46. BESS_JPL/load_C4_fraction.py +20 -0
  47. BESS_JPL/load_NDVI_maximum.py +17 -0
  48. BESS_JPL/load_NDVI_minimum.py +17 -0
  49. BESS_JPL/load_ball_berry_intercept_C3.py +10 -0
  50. BESS_JPL/load_ball_berry_slope_C3.py +10 -0
  51. BESS_JPL/load_ball_berry_slope_C4.py +10 -0
  52. BESS_JPL/load_carbon_uptake_efficiency.py +10 -0
  53. BESS_JPL/load_kn.py +10 -0
  54. BESS_JPL/load_peakVCmax_C3.py +12 -0
  55. BESS_JPL/load_peakVCmax_C4.py +12 -0
  56. BESS_JPL/meteorology.py +429 -0
  57. BESS_JPL/model.py +594 -0
  58. BESS_JPL/peakVCmax_C3.jpeg +0 -0
  59. BESS_JPL/peakVCmax_C3.tif +0 -0
  60. BESS_JPL/peakVCmax_C4.jpeg +0 -0
  61. BESS_JPL/peakVCmax_C4.tif +0 -0
  62. BESS_JPL/process_BESS_table.py +365 -0
  63. BESS_JPL/process_paw_and_gao_LE.py +50 -0
  64. BESS_JPL/retrieve_BESS_JPL_GEOS5FP_inputs.py +257 -0
  65. BESS_JPL/retrieve_BESS_inputs.py +279 -0
  66. BESS_JPL/soil_energy_balance.py +35 -0
  67. BESS_JPL/verify.py +127 -0
  68. BESS_JPL/version.py +3 -0
  69. bess_jpl-1.26.0.dist-info/METADATA +102 -0
  70. bess_jpl-1.26.0.dist-info/RECORD +73 -0
  71. bess_jpl-1.26.0.dist-info/WHEEL +5 -0
  72. bess_jpl-1.26.0.dist-info/licenses/LICENSE +201 -0
  73. bess_jpl-1.26.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,122 @@
1
+ ID,name,NDVI_minimum,NDVI_maximum,C4_fraction,carbon_uptake_efficiency,kn,peakVCmax_C3,peakVCmax_C4,ball_berry_slope_C3,ball_berry_slope_C4,ball_berry_intercept_C3,KG_climate,CI,canopy_height_meters,geometry
2
+ US-NC3,NC_Clearcut#3,0.4087331578417219,0.8556928956658199,0.07753171362788719,0.07999999821186066,0.40999999642372137,87.34543334528844,51.04062440664798,9.5,4.951962701536608,0.005266873734349401,3,0.2823529411764706,20.642902178642892,POINT (-76.656 35.799)
3
+ PE-QFR,Quistococha Forest Reserve,0.657359426907036,0.8266049365657256,0.0005492608001738836,0.06034712931355669,0.1250333919073654,41.36448719554118,41.36448719554118,9.500000000000002,5.000000000000001,0.004999999888241291,1,0.2549019607843137,22.140021130858546,POINT (-73.319 -3.8344)
4
+ US-Mi3,LTAR UCB (Upper Chesapeake Bay) Miscanthus 3,0.02790972024855843,0.8554605078954822,0.035045187936972484,0.07999999821186067,0.4099999964237213,119.4354427351645,119.4354427351645,7.499999999999999,4.1211708043072495,0.009882383682270773,4,0.28627450980392155,0.0,POINT (-80.637 41.8222)
5
+ US-NC4,NC_AlligatorRiver,0.5913575693840132,0.8697576485713222,0.04621943588956866,0.07999999821186066,0.4099999964237213,64.72016471509369,64.72016471509369,9.5,4.965272261227928,0.005192931745552203,3,0.20784313725490197,14.16482716188921,POINT (-75.9038 35.7879)
6
+ CA-DB2,Delta Burns Bog 2,0.3997116688495973,0.6757306344864201,0.00035587351413123274,0.07999999821186067,0.40999999642372137,109.98639536320827,109.98639536320827,9.5,4.550285561939465,0.007498413112436758,3,0.26666666666666666,9.919029464341444,POINT (-122.9951 49.119)
7
+ US-Sne,Sherman Island Restored Wetland,0.23912057151136526,0.5572457859736774,0.005166879018109502,0.08094725992358666,0.43841783083715163,60.07227719374705,49.01803092497831,9.5,5.075780914353615,0.005947261070643866,3,1.0,0.46937917905864046,POINT (-121.7547 38.0369)
8
+ US-Mi1,LTAR UCB (Upper Chesapeake Bay) Miscanthus 1,0.013335952648099655,0.8410030480622498,0.031587586099533695,0.07999999821186066,0.4099999964237214,120.00000000000001,120.00000000000001,7.500000000000001,4.099999904632568,0.009999999776482582,4,0.2901960784313726,0.0,POINT (-80.6313 41.7727)
9
+ US-PFe,NW4 Lake-1 CHEESEHEAD 2019,0.10786169952587384,0.8792312219495471,0.046937113573550446,0.07999999821186067,0.40999999642372137,68.82643068716598,68.82643068716598,7.5,5.000000000000001,0.004999999888241292,4,0.21568627450980393,6.835003613460428,POINT (-90.3004 45.9793)
10
+ US-NR1,Niwot Ridge Forest (LTER NWT1),0.1629652118545663,0.6756746233398245,0.015560672307164784,0.07999999821186066,0.40999999642372137,120.00000000000004,120.00000000000004,7.500000000000003,4.099999904632569,0.009999999776482582,4,0.1843137254901961,17.94227891238037,POINT (-105.5464 40.0329)
11
+ US-Vcp,Valles Caldera Ponderosa Pine,0.18605682690645955,0.6914219316589686,0.0007811003618295031,0.08767798548433177,0.640339477304817,136.89156293809597,58.57613477056015,7.5,5.405257260427025,0.013838991267514424,4,0.2,15.737897214796718,POINT (-106.5974 35.8624)
12
+ US-xAB,NEON Abby Road (ABBY),0.5659936774015306,0.8625376532807679,0.0016622462326137716,0.07999999821186066,0.4099999964237213,63.0,63.0,9.500000000000002,5.0,0.004999999888241291,3,0.18823529411764706,6.244725379160608,POINT (-122.3303 45.7624)
13
+ US-HBK,Hubbard Brook Experimental Forest,0.14425547687905033,0.9047851936429718,0.0,0.07999999821186066,0.4099999964237214,96.0,96.0,7.499999999999999,5.0,0.004999999888241291,4,0.26666666666666666,22.527766947864624,POINT (-71.7181 43.9397)
14
+ US-EDN,Eden Landing Ecological Reserve,0.18765256202385952,0.41857079733383484,0.00118293722296389,0.07999999821186066,0.4099999964237213,56.984564872933085,56.984564872933085,9.5,5.0,0.004999999888241291,3,1.0,0.0,POINT (-122.114 37.6156)
15
+ US-PFh,NE2 Pine-3 CHEESEHEAD 2019,0.12093301546462346,0.8797551246355276,0.04685803556807379,0.07999999821186067,0.4099999964237214,83.22012913735648,83.22012913735648,7.500000000000003,4.919629643627874,0.005446501810793297,4,0.2627450980392157,15.26662213615668,POINT (-90.2406 45.9557)
16
+ US-Me6,Metolius Young Pine Burn,0.24290999421865217,0.7695289404153574,0.0003239199591024325,0.07999999821186066,0.4099999964237213,113.49030088098709,113.49030088098709,7.499999999999998,4.202784638455812,0.009428973550736111,4,0.24705882352941178,9.92549467075966,POINT (-121.6078 44.3233)
17
+ US-NC2,NC_Loblolly Plantation,0.4370522262817825,0.8539217607998417,0.07948586770191517,0.07999999821186066,0.4099999964237213,85.58671584405877,59.56049992059823,9.5,4.882492070538997,0.005652821634813013,3,0.2627450980392157,10.70707541686137,POINT (-76.6685 35.803)
18
+ US-Whs,Walnut Gulch Lucky Hills Shrub,0.13977007170073427,0.3791938485295186,0.5383724796821573,0.08521522266523875,0.5664566367696335,70.34435464914428,50.526512357426625,9.5,5.417217831929673,0.010215221427387174,2,0.2823529411764706,0.0,POINT (-110.0522 31.7438)
19
+ US-SRM,Santa Rita Mesquite,0.1687577374028736,0.4243245044164134,0.674624390472964,0.08047068844706014,0.42412069506311245,62.753103972322684,60.964482038056296,9.499999999999998,5.037655207593834,0.0054706898604222325,2,0.23529411764705882,0.0,POINT (-110.8661 31.8214)
20
+ US-CS1,Central Sands Irrigated Agricultural Field,0.010983921458627274,0.7909789047832757,0.08676788796147465,0.07999999821186066,0.4099999964237213,106.01582913602904,58.91125359423214,7.500000000000001,4.762408068380375,0.0063199548945351135,4,0.2235294117647059,0.0,POINT (-89.5379 44.1031)
21
+ US-PFs,SE5 Aspen-5 CHEESEHEAD 2019,0.1210723801487115,0.8743137902749573,0.04696716582804139,0.07999999821186066,0.40999999642372126,74.2996212009701,74.2996212009701,7.499999999999999,4.8998046546124865,0.005556640624524031,4,0.25882352941176473,6.99144418650845,POINT (-90.2382 45.9381)
22
+ US-PFg,NE1 Pine-2 CHEESEHEAD 2019,0.13489335737913405,0.8841975497019787,0.046840622096447286,0.07999999821186068,0.4099999964237213,62.880970800910966,62.880970800910966,7.5,4.998633397280674,0.005007592124596679,4,0.2627450980392157,17.93987252518173,POINT (-90.2723 45.9735)
23
+ US-Ha1,Harvard Forest EMS Tower (HFR1),0.1799916046478735,0.903852895096539,0.00036868638126566364,0.07999999821186067,0.4099999964237214,92.68174367107986,92.68174367107986,7.499999999999999,5.000000000000001,0.004999999888241292,4,0.27450980392156865,22.261235455085856,POINT (-72.1715 42.5378)
24
+ US-Ne2,Mead - irrigated maize-soybean rotation site,-0.021019106318366558,0.8334119882608211,0.44150058853015933,0.07999999821186066,0.4099999964237213,101.0,37.00000000000001,7.500000000000001,5.0,0.004999999888241291,4,0.2901960784313726,0.0,POINT (-96.4701 41.1649)
25
+ US-PFm,SW3 Hardwood-2 CHEESEHEAD 2019,0.10283320668915931,0.8790096079727968,0.0471107898578526,0.07999999821186067,0.4099999964237213,68.75721377556563,68.75721377556563,7.499999999999999,4.952851636768973,0.005261935205914392,4,0.26666666666666666,17.140608339758895,POINT (-90.3099 45.9207)
26
+ US-PFr,SE4 Tussock-2 CHEESEHEAD 2019,0.1178902959156713,0.8751436191027069,0.04703024490476953,0.07999999821186066,0.4099999964237213,72.00066865199929,72.00066865199929,7.5,4.905272925639252,0.005526261344940135,4,0.2627450980392157,0.06697374038151778,POINT (-90.2475 45.9245)
27
+ US-PFL,SW2 Aspen-3 CHEESEHEAD 2019,0.10249730334680904,0.8778957034402939,0.047166095840123046,0.07999999821186067,0.4099999964237213,70.54082849388648,70.54082849388648,7.5,4.955590227054065,0.005246720817393909,4,0.2627450980392157,19.11929399848674,POINT (-90.3177 45.9409)
28
+ US-PFj,NE4 Maple-1 CHEESEHEAD 2019,0.1264813017846415,0.8826089779726481,0.046758006013031976,0.07999999821186067,0.40999999642372126,90.76111754488572,90.76111754488572,7.500000000000001,4.93991709777389,0.005333793746666518,4,0.26666666666666666,11.041227282743666,POINT (-90.227 45.9619)
29
+ US-CC2,Coloma Corn 2,-0.00343338611647959,0.8236358222993674,0.08651726177320283,0.07999999821186066,0.4099999964237213,104.34782995244217,51.62473084487892,7.500000000000001,4.841418564396217,0.0058810077507708515,4,0.26666666666666666,0.0,POINT (-89.6196 44.1039)
30
+ US-NR3,Niwot Ridge Alpine (T-Van West),0.08074605146099989,0.5793592585991433,0.014946046206295392,0.08276227046098464,0.4928681145041901,126.0769956881182,97.90183386138831,7.5,4.5695860141072675,0.011381135129275032,5,0.2196078431372549,0.0,POINT (-105.5864 40.052)
31
+ US-PFt,SE6 Pine-4 CHEESEHEAD 2019,0.12780713135995847,0.8708630982610119,0.047033175646857134,0.07999999821186068,0.4099999964237214,65.96400082187628,65.96400082187628,7.500000000000001,4.962957047608218,0.005205794041789048,4,0.27058823529411763,13.959621322598938,POINT (-90.2288 45.9197)
32
+ CA-Cbo,"Ontario - Mixed Deciduous, Borden Forest Site",0.06329028799413368,0.8248724924547485,0.007640331933075449,0.08057791220618238,0.4273374059194719,120.51203012579006,112.05939903538042,7.5,5.046233105767204,0.0055779135596286025,4,1.0,14.63745055646174,POINT (-79.9333 44.3167)
33
+ PR-xLA,NEON Lajas Experimental Station (LAJA),0.44800567813649356,0.7484062231696347,0.0,0.08003993850415766,0.4111982044784439,99.3209575227273,37.47416733126552,9.5,4.99201809913933,0.005102035279653169,1,0.3058823529411765,0.09721899711788075,POINT (-67.0769 18.0212)
34
+ US-Ne3,Mead - rainfed maize-soybean rotation site,-0.021620733176418706,0.8194694195620175,0.4424480670324988,0.07999999821186066,0.40999999642372137,101.00000000000001,37.00000000000001,7.500000000000003,5.000000000000002,0.004999999888241291,4,0.2980392156862745,0.0,POINT (-96.4397 41.1797)
35
+ US-PHM,Plum Island High Marsh,0.002050753613266741,0.7401394034926547,0.0,0.07999999821186066,0.40999999642372137,107.83236254986856,107.83236254986856,7.5,4.21775124727251,0.009345825734645832,4,1.0,0.0,POINT (-70.8301 42.7423)
36
+ US-Tw1,Twitchell Wetland West Pond,0.2735372639340857,0.709191445932834,0.006103237015386933,0.08121726308129376,0.4465179207403346,98.20029230218404,37.365179264932515,9.499999999999998,5.097381160532809,0.0062172640774750265,3,0.2901960784313726,0.022010602099844907,POINT (-121.6469 38.1074)
37
+ US-Hn3,Hanford 100H sagebrush,-0.013024897612681162,0.44533252922788147,0.005560871398960228,0.09000000357627869,0.7099999785423279,78.0,40.0,9.499999999999998,5.800000190734863,0.014999999664723871,2,0.23921568627450981,0.0,POINT (-119.4614 46.6878)
38
+ US-PFk,SW1 Aspen-2 CHEESEHEAD 2019,0.10267653878093534,0.8758384019455226,0.04715292340034931,0.07999999821186067,0.40999999642372137,77.96040448886626,77.96040448886626,7.500000000000001,4.917360692212595,0.00545910709481628,4,0.2784313725490196,13.534742423097446,POINT (-90.3425 45.9149)
39
+ US-CS2,Tri county school Pine Forest,0.011847044455880631,0.7862671317958756,0.09103504462650998,0.07999999821186066,0.40999999642372126,102.29944267035722,42.67651271787623,7.500000000000001,4.93844744593442,0.005341958478060344,4,0.22745098039215686,17.517085301252354,POINT (-89.5002 44.1467)
40
+ US-ONA,Florida pine flatwoods,0.48596438342772114,0.7542511673347234,0.007011533995388719,0.07999999821186063,0.40999999642372126,120.0,120.0,9.5,5.0,0.004999999888241289,3,0.28627450980392155,0.0,POINT (-81.9509 27.3836)
41
+ US-CC1,Coloma Corn 1,0.01410842137754985,0.8712186585789192,0.08300797168049016,0.07999999821186066,0.40999999642372137,119.70852195758626,118.9618633140148,7.5,4.113117809107946,0.009927122538748438,4,0.2823529411764706,0.0,POINT (-89.6787 44.0732)
42
+ US-Rls,RCEW Low Sagebrush,-0.017216336690200874,0.4867265894776473,0.0004189586710382337,0.09000000357627869,0.7099999785423278,107.33151697790053,40.0,8.583390094440608,5.800000190734862,0.014999999664723871,2,0.28627450980392155,0.0,POINT (-116.7356 43.1439)
43
+ US-UMd,UMBS Disturbance,0.018456804727672922,0.8231026751104258,0.08915746880815566,0.08053803490767206,0.42614108767722264,95.42972887529407,89.94175752199504,7.5,4.9261310424587785,0.006187546646605498,4,1.0,20.807052338440826,POINT (-84.6975 45.5625)
44
+ US-PFq,SE3 Aspen-4 CHEESEHEAD 2019,0.1182010779145262,0.8752484910488696,0.04702398679886199,0.07999999821186064,0.40999999642372126,71.88368287561711,71.88368287561711,7.499999999999999,4.908445159345303,0.005508637826612335,4,0.2549019607843137,19.658238597577945,POINT (-90.2475 45.9271)
45
+ US-PFn,SW4 Hardwood-3 CHEESEHEAD 2019,0.11214952404130973,0.880997063667563,0.04706005295190416,0.07999999821186067,0.4099999964237213,67.22195801026417,67.22195801026417,7.5,4.973064986076883,0.005149638835279828,4,0.21176470588235294,16.76915357146083,POINT (-90.2823 45.9392)
46
+ US-HB3,Hobcaw Barony Longleaf Pine Restoration,0.4929127296247127,0.7696467208353741,0.018059523812039714,0.07999999821186066,0.4099999964237213,67.95618200049809,67.95618200049809,9.5,4.773226409043957,0.006259853009671663,3,0.20392156862745098,0.0,POINT (-79.2322 33.3482)
47
+ US-DFC,"US Dairy Forage Research Center, Prairie du Sac",-0.007316776711070038,0.8141013461897569,0.045802160912748704,0.07999999821186066,0.40999999642372126,102.15161504110561,55.85384456411355,7.5,5.000000000000001,0.004999999888241291,4,0.28627450980392155,0.0,POINT (-89.7117 43.3448)
48
+ US-Wkg,Walnut Gulch Kendall Grasslands,0.1452498760946111,0.47096671656726485,0.48688925543057326,0.08942724433568043,0.6928172115661085,77.08358570664576,41.26006965336209,9.5,5.754179465142641,0.01442724074417963,2,0.23529411764705882,0.0,POINT (-109.9419 31.7365)
49
+ US-CF1,CAF-LTAR Cook East,-0.024475686387094343,0.8559611342171937,0.004770176230634043,0.07999999821186066,0.40999999642372137,100.99999999999999,37.0,7.500000000000001,5.0,0.004999999888241291,4,0.3058823529411765,0.0,POINT (-117.0821 46.7815)
50
+ US-Ho2,Howland Forest (west tower),0.218313998452716,0.8721061976948519,0.00012982456508227552,0.07999999821186066,0.40999999642372137,62.49999999999999,62.49999999999999,7.5,5.0,0.004999999888241291,4,0.25098039215686274,15.861582174887225,POINT (-68.747 45.2091)
51
+ US-Snf,Sherman Barn,0.2797573267798654,0.6072454449093917,0.0052600244922968685,0.08118396096916877,0.44551885797207214,50.998453230483314,35.0865650381947,9.5,5.094716992356792,0.00618396198395901,3,1.0,0.0,POINT (-121.7272 38.0402)
52
+ US-Me2,Metolius mature ponderosa pine,0.2616413814567097,0.8124016432555928,0.0003046857921924876,0.07999999821186066,0.40999999642372126,71.10432067616483,71.10432067616483,7.500000000000001,4.872037028395849,0.005710905194821917,4,0.19215686274509805,17.203438526950002,POINT (-121.5574 44.4523)
53
+ US-CF3,CAF-LTAR Boyd North,-0.01203388335311237,0.8181944200469764,0.005130662087878857,0.07999999821186067,0.4099999964237213,98.0394210979951,38.96090290912013,7.500000000000001,5.0,0.004999999888241292,4,0.3058823529411765,0.0,POINT (-117.1261 46.7551)
54
+ US-Ne1,Mead - irrigated continuous maize site,-0.021009207403568292,0.8337851188490267,0.4418467009294897,0.07999999821186066,0.40999999642372137,101.00000000000001,37.0,7.5,5.000000000000001,0.004999999888241291,4,0.2901960784313726,0.0,POINT (-96.4766 41.1651)
55
+ US-Ha2,Harvard Forest Hemlock Site,0.18249513355855806,0.9023605219289734,0.0003645376401809861,0.07999999821186066,0.40999999642372137,91.48117954124994,91.48117954124994,7.5,5.0,0.004999999888241291,4,0.26666666666666666,20.82702130229827,POINT (-72.1779 42.5393)
56
+ CA-Ca3,British Columbia - Pole sapling Douglas-fir stand,0.35407636112449037,0.8879262295668724,5.402219549833483e-05,0.07999999821186064,0.40999999642372126,60.641532354321456,60.641532354321456,9.39223177533376,4.999999999999999,0.00499999988824129,3,0.19607843137254902,13.230460179677898,POINT (-124.9004 49.5346)
57
+ US-SP1,Slashpine-Austin Cary- 65yrs nat regen,0.5691812098517238,0.7940243702310268,0.007936279404811244,0.07999999821186068,0.4099999964237213,108.4048429271508,108.4048429271508,9.500000000000004,4.279924774828511,0.00900041729254489,3,0.20784313725490197,17.679970692191432,POINT (-82.2188 29.7381)
58
+ US-UMB,Univ. of Mich. Biological Station,0.03174982788293263,0.8248730266931917,0.0871280014272026,0.07999999821186067,0.40999999642372137,95.77499185324714,95.77499185324714,7.500000000000002,4.823074529584666,0.005982919042202668,4,1.0,21.827131302796026,POINT (-84.7138 45.5598)
59
+ US-Bi1,Bouldin Island Alfalfa,0.26912559723628576,0.7477459300185619,0.006234041071067856,0.08034582686953035,0.4203748499699173,100.20459451404842,37.10374854164585,9.499999999999998,5.027666284368382,0.005345828352664275,3,0.28627450980392155,0.0,POINT (-121.4993 38.0992)
60
+ US-PFi,NE3 Hardwood-1 CHEESEHEAD 2019,0.1359741814580438,0.8869888798724404,0.04664507849369497,0.07999999821186066,0.4099999964237214,94.78676387384857,94.78676387384857,7.5,4.985034874869054,0.005083139461634003,4,0.27058823529411763,11.508748492189826,POINT (-90.2327 45.9749)
61
+ US-CF2,CAF-LTAR Cook West,-0.02196958308281892,0.848641594062847,0.0047909295021055995,0.07999999821186067,0.40999999642372137,101.00000000000001,37.0,7.500000000000001,5.000000000000001,0.004999999888241292,4,0.3058823529411765,0.0,POINT (-117.0908 46.784)
62
+ US-KFS,Kansas Field Station,0.27267855712763617,0.7986740708690908,0.37593364893285874,0.07999999821186066,0.4099999964237212,117.95860351414211,111.08232061441036,7.5,4.999999999999999,0.004999999888241291,4,0.2823529411764706,0.0,POINT (-95.1907 39.0561)
63
+ US-CMW,Charleston Mesquite Woodland,0.14778324757311856,0.4628999314463006,0.5529815297798273,0.08951678830687212,0.6955035291006891,77.22685598369628,41.0630730224176,9.5,5.761342980703082,0.01451678466533475,2,0.29411764705882354,3.9179074666374056,POINT (-110.1777 31.6637)
64
+ US-Ro4,Rosemount Prairie,-0.021555012782910866,0.8289251730083561,0.25439896652939414,0.07999999821186064,0.40999999642372126,101.0,37.00000000000001,7.500000000000001,5.000000000000002,0.00499999988824129,4,0.27450980392156865,0.0,POINT (-93.0723 44.6781)
65
+ US-PAS,"Florida, Paspalum notatum pasture",0.48697821201358876,0.7562767155145488,0.007054500984967353,0.07999999821186067,0.4099999964237213,120.00000000000003,120.00000000000003,9.500000000000002,5.0,0.004999999888241292,3,0.22745098039215686,0.0,POINT (-81.951 27.3944)
66
+ US-xYE,NEON Yellowstone Northern Range (Frog Rock) (YELL),0.00785267134927765,0.6032047756369527,0.00019616805898248083,0.08941945545527555,0.692583545293238,140.72279481893938,44.64438247658405,7.499999999999999,5.723280735401539,0.014587649732624781,4,0.2235294117647059,10.17531865696768,POINT (-110.5391 44.9535)
67
+ US-Los,Lost Creek,0.08206634657679468,0.8568525609024192,0.02389146201185007,0.07999999821186066,0.4099999964237212,69.90936484339393,69.90936484339393,7.5,4.910660918642935,0.005496328054316136,4,0.25882352941176473,0.0,POINT (-89.9792 46.0827)
68
+ US-PFd,NW3 Tussock-1 CHEESEHEAD 2019,0.10728203333403268,0.8788174041178145,0.047010698755165094,0.07999999821186066,0.40999999642372137,68.02731483019502,68.02731483019502,7.5,4.999999999999999,0.004999999888241291,4,0.20392156862745098,4.234582501186277,POINT (-90.301 45.9689)
69
+ US-KM4,KBS Marshall Farms Smooth Brome Grass (Ref),0.008242746942216796,0.8328631710220482,0.18722426516989543,0.07999999821186067,0.4099999964237214,116.95275514232739,106.68835141121974,7.499999999999998,4.497795875696682,0.007790022443034203,4,0.2823529411764706,0.0,POINT (-85.3301 42.4423)
70
+ US-Syv,Sylvania Wilderness Area,0.09096690481321135,0.8784962886274448,0.009326731067693507,0.07999999821186064,0.40999999642372126,72.02047511228062,72.02047511228062,7.499999999999998,4.999999999999999,0.00499999988824129,4,0.2627450980392157,22.032710264511714,POINT (-89.3477 46.242)
71
+ US-WCr,Willow Creek,0.07854830315115682,0.8912569427517121,0.048217020962668916,0.07999999821186064,0.40999999642372126,102.79344741592236,102.79344741592236,7.499999999999999,4.745245694908175,0.006415301401590664,4,0.2784313725490196,22.94535521065764,POINT (-90.0799 45.8059)
72
+ US-Rws,Reynolds Creek Wyoming big sagebrush,0.004509057501874835,0.41941068457948516,0.00044523162532180105,0.09000000357627869,0.7099999785423279,81.0335982382361,39.99999999999999,9.40520005505512,5.800000190734864,0.014999999664723871,2,0.28627450980392155,0.0,POINT (-116.7132 43.1675)
73
+ US-xJE,NEON Jones Ecological Research Center (JERC),0.43553002056546214,0.7927568467710036,0.011980531922772555,0.07999999821186066,0.40999999642372137,116.70687910104104,105.61426133612662,9.500000000000002,4.255989858480967,0.0091333890329689,3,0.2196078431372549,15.595609032370277,POINT (-84.4686 31.1948)
74
+ US-SRG,Santa Rita Grassland,0.2116718389624474,0.5799489157777623,0.6583911856853132,0.08133261673529595,0.44997852829771606,64.13218849370139,59.0682408211606,9.500000000000002,5.106609450102737,0.006332617667018329,2,0.2980392156862745,0.0,POINT (-110.8277 31.7894)
75
+ US-xNW,NEON Niwot Ridge Mountain Research Station (NIWO),0.08403786249038447,0.5836209150313519,0.015017829741361066,0.08234185180259626,0.48025556227020655,125.15207513582986,101.26518132425504,7.499999999999999,4.498114868493081,0.011170925917544402,4,0.2235294117647059,0.0,POINT (-105.5824 40.0543)
76
+ US-Rms,RCEW Mountain Big Sagebrush,0.01613737195211912,0.5938638974956257,0.0003628479069995922,0.0900000035762787,0.7099999785423279,132.97066457862053,40.0,7.78216673191811,5.800000190734864,0.014999999664723875,4,0.21176470588235294,4.572696446649116,POINT (-116.7486 43.0645)
77
+ US-NR4,Niwot Ridge Alpine (T-Van East),0.08136959430879162,0.5802803335195635,0.014954318480065697,0.08271514025249509,0.49145420909225684,125.97330928506292,98.2788753270439,7.499999999999998,4.56157388161368,0.011357570038198277,5,0.2196078431372549,0.0,POINT (-105.5859 40.052)
78
+ US-xDS,NEON Disney Wilderness Preserve (DSNY),0.4973639420138239,0.715324722064415,0.028235298691412305,0.07999999821186067,0.40999999642372137,118.68641733735389,118.68641733735389,9.500000000000002,5.0,0.004999999888241292,3,0.21568627450980393,0.0,POINT (-81.4362 28.125)
79
+ US-xJR,NEON Jornada LTER (JORN),0.12733616826479466,0.360686143530532,0.7358452007760038,0.07999999821186064,0.4099999964237213,62.0,62.0,9.5,5.0,0.00499999988824129,2,0.3215686274509804,0.0,POINT (-106.8425 32.5907)
80
+ US-Bar,Bartlett Experimental Forest,0.1867524064374743,0.878037671304298,0.00032694562116477357,0.07999999821186064,0.4099999964237212,92.30735551697218,92.30735551697218,7.499999999999999,5.0,0.00499999988824129,4,0.26666666666666666,18.432093461841223,POINT (-71.2881 44.0646)
81
+ US-ALQ,Allequash Creek Site,0.08171194116070679,0.8665118950794343,0.022387954051174563,0.07999999821186064,0.4099999964237213,70.47530139490881,70.47530139490881,7.499999999999999,4.999999999999999,0.00499999988824129,4,0.2549019607843137,0.0,POINT (-89.6067 46.0308)
82
+ US-MMS,Morgan Monroe State Forest,0.2823703648732803,0.9175582590433609,0.4041865217678945,0.07999999821186066,0.40999999642372126,96.0684345327952,95.19247251301664,7.499999999999998,4.999999999999999,0.004999999888241291,4,0.27450980392156865,25.74251378203622,POINT (-86.4131 39.3232)
83
+ US-UC1,LTAR UCB (Upper Chesapeake Bay) EC1,0.048636062924460974,0.8648507538653104,0.09611361629526055,0.07999999821186066,0.40999999642372137,96.69903286553514,87.75141218668543,7.500000000000001,5.0,0.004999999888241291,4,0.26666666666666666,0.0,POINT (-78.0056 40.7536)
84
+ US-PFb,NW1 Pine-1 CHEESEHEAD 2019,0.08995320311083482,0.8728946856438946,0.0471069508468557,0.07999999821186066,0.40999999642372126,63.148504336700725,63.148504336700725,7.499999999999998,5.0,0.004999999888241291,4,0.21176470588235294,15.291328007811302,POINT (-90.3232 45.972)
85
+ US-xDL,NEON Dead Lake (DELA),0.3782908271750038,0.773298041035145,0.08904439022155984,0.07999999821186066,0.40999999642372137,81.0611416765429,81.0611416765429,9.500000000000002,4.941080161116164,0.005327332284482986,3,0.2196078431372549,25.104924340813678,POINT (-87.8039 32.5417)
86
+ US-xPU,NEON Pu'u Maka'ala Natural Area Reserve (PUUM),0.4915185001086692,0.6800122209779613,0.0,0.07999999821186066,0.40999999642372126,82.49190024930452,82.49190024930452,9.500000000000002,4.660391646324331,0.006886712722122624,3,0.24313725490196078,16.00187488986781,POINT (-155.3173 19.5531)
87
+ US-xBL,NEON Blandy Experimental Farm (BLAN),0.23290378346672946,0.7882458903315729,0.14320452604901554,0.07999999821186066,0.4099999964237213,112.64414663488051,112.64414663488051,7.499999999999999,4.980396014068566,0.005108910907218724,4,0.2980392156862745,4.110317769535565,POINT (-78.0716 39.0603)
88
+ US-xST,NEON Steigerwaldt Land Services (STEI),0.07986228746714846,0.8667352598806095,0.05527376657661181,0.07999999821186064,0.4099999964237213,99.21700716952283,99.21700716952283,7.5,4.879362218359655,0.005670209700244861,4,0.27450980392156865,22.886456724316574,POINT (-89.5864 45.5089)
89
+ US-xSB,NEON Ordway-Swisher Biological Station (OSBS),0.5119628206376107,0.7317411593412771,0.00521660386925363,0.07999999821186067,0.4099999964237213,120.00000000000001,120.00000000000001,9.5,4.099999904632569,0.009999999776482584,3,0.27450980392156865,0.0,POINT (-81.9934 29.6893)
90
+ US-xRN,NEON Oak Ridge National Lab (ORNL),0.3711365920257157,0.8255869922117649,0.09602876895024935,0.07999999821186064,0.4099999964237212,66.53013331881384,66.53013331881384,9.5,4.9297972562031225,0.005390015081512261,3,0.2784313725490196,22.09015092022609,POINT (-84.2826 35.9641)
91
+ US-UC2,LTAR UCB (Upper Chesapeake Bay) EC2,0.04862782462036976,0.8630071762212352,0.09964935589255433,0.07999999821186066,0.4099999964237213,96.94405876008986,84.8601066309397,7.500000000000001,5.000000000000001,0.004999999888241291,4,0.2823529411764706,0.0,POINT (-77.9998 40.7559)
92
+ US-xTR,NEON Treehaven (TREE),0.08928135399698017,0.8606690895156016,0.055305411390853404,0.07999999821186064,0.40999999642372126,100.14153215945866,100.14153215945866,7.499999999999998,4.844692527563328,0.005862819068843005,4,0.27450980392156865,23.647797320173403,POINT (-89.5857 45.4937)
93
+ US-xRM,"NEON Rocky Mountain National Park, CASTNET (RMNP)",0.1704044145842011,0.6242891464542177,0.011047207877373592,0.07999999821186064,0.4099999964237213,120.0,120.0,7.5,4.099999904632568,0.00999999977648258,4,0.19607843137254902,13.056867966697768,POINT (-105.5459 40.2759)
94
+ US-Tw4,Twitchell East End Wetland,0.267918630234126,0.7102531045067177,0.006067214467032747,0.08131288819188554,0.449386672348178,97.98035466580677,37.39386678272086,9.500000000000002,5.105031167100271,0.006312889134632117,3,0.28627450980392155,2.8031128785626596,POINT (-121.6413 38.1027)
95
+ US-Bi2,Bouldin Island corn,0.23864556081901508,0.7690385256883943,0.006313804299933983,0.07999999821186067,0.4099999964237213,101.00000000000001,37.00000000000001,9.500000000000002,5.000000000000001,0.004999999888241292,3,0.28627450980392155,0.0,POINT (-121.5351 38.1091)
96
+ US-Jo2,Jornada Experimental Range Mixed Shrubland,0.1335976024229522,0.31389221495434,0.9392833171850932,0.07999999821186066,0.40999999642372137,62.0,62.0,9.5,5.000000000000001,0.004999999888241291,2,0.29411764705882354,0.0,POINT (-106.6032 32.5849)
97
+ US-CS5,Central Sands Irrigated Agricultural Field,0.007640264962628648,0.7856562894084331,0.08739989745800403,0.07999999821186066,0.4099999964237213,104.07215700880023,50.42047535423256,7.500000000000002,4.854476757847163,0.00580846224090765,4,0.2901960784313726,0.0,POINT (-89.5377 44.1095)
98
+ US-Mpj,Mountainair Pinyon-Juniper Woodland,0.04273712281221086,0.4449268392496286,0.04285454812382234,0.09000000357627869,0.7099999785423279,78.0,40.00000000000001,9.5,5.800000190734864,0.014999999664723877,2,0.21176470588235294,0.0,POINT (-106.2377 34.4384)
99
+ US-xWR,NEON Wind River Experimental Forest (WREF),0.5477450639653825,0.8969787098713023,0.0008724538924845859,0.07999999821186067,0.4099999964237213,63.00000000000001,63.00000000000001,9.407118761953923,5.000000000000001,0.004999999888241292,3,0.19215686274509805,30.192381364266236,POINT (-121.9519 45.8205)
100
+ US-xUK,NEON The University of Kansas Field Station (UKFS),0.2634781336173303,0.7871996132070884,0.3775263690874297,0.07999999821186066,0.40999999642372137,114.61758832508715,96.48735952538074,7.499999999999999,5.0,0.004999999888241291,4,0.2901960784313726,18.017808722734678,POINT (-95.1921 39.0404)
101
+ US-xUN,NEON University of Notre Dame Environmental Research Center (UNDE),0.08285437806331074,0.870716687559855,0.010095175981873969,0.07999999821186066,0.4099999964237213,63.407461377668064,63.407461377668064,7.5,4.999999999999999,0.004999999888241291,4,0.26666666666666666,22.10856263578877,POINT (-89.5373 46.2339)
102
+ US-xBR,NEON Bartlett Experimental Forest (BART),0.18669641177218566,0.8781389559203983,0.0003268633909591533,0.07999999821186066,0.4099999964237213,92.20501820877294,92.20501820877294,7.5,5.0,0.004999999888241291,4,0.26666666666666666,14.4387401046389,POINT (-71.2873 44.0639)
103
+ US-CF4,CAF-LTAR Boyd South,-0.010999906803963642,0.8124497766579353,0.005163748192798795,0.07999999821186066,0.40999999642372137,97.27505946352613,39.467168407274904,7.500000000000001,5.0,0.004999999888241291,4,0.3058823529411765,0.0,POINT (-117.1285 46.7518)
104
+ US-xCL,NEON LBJ National Grassland (CLBJ),0.3061995698192829,0.7180278822475559,0.39905242611923514,0.0900000035762787,0.7099999785423279,78.00000000000001,39.99999999999999,9.5,5.800000190734864,0.014999999664723873,3,0.29411764705882354,6.96284365309675,POINT (-97.57 33.4012)
105
+ CA-DBB,Delta Burns Bog,0.4298948098218294,0.6854093861188868,0.00036891788856120554,0.07999999821186064,0.40999999642372126,115.36926886645571,115.36926886645571,9.499999999999998,4.275182160749559,0.00902676514515822,3,1.0,3.18067914609519,POINT (-122.9849 49.1293)
106
+ US-Hn2,Hanford 100H grassland,-0.012772100970790873,0.4477947335240179,0.005556917245422874,0.09000000357627869,0.709999978542328,78.00000000000001,40.0,9.500000000000002,5.800000190734864,0.014999999664723873,2,0.23921568627450981,0.0,POINT (-119.4641 46.6889)
107
+ US-PFp,SE2 Hardwood-4 CHEESEHEAD 2019,0.11385126484925401,0.88066853412369,0.047024068619455184,0.07999999821186064,0.4099999964237213,67.3345639745341,67.3345639745341,7.499999999999998,4.973901438430578,0.005144991878355567,4,0.26666666666666666,16.996332264289464,POINT (-90.2641 45.9365)
108
+ US-xKA,NEON Konza Prairie Biological Station - Relocatable (KONA),0.25200893057920976,0.7690676416173009,0.40102153258648077,0.08441585372445912,0.5424755828400674,117.96671415277223,39.07868413230414,7.5,5.3532683357257325,0.009415852933289505,4,0.2823529411764706,0.0,POINT (-96.6129 39.1104)
109
+ US-CS3,Central Sands Irrigated Agricultural Field,-0.010124426316489703,0.8021515110436562,0.0903334761218076,0.07999999821186066,0.40999999642372137,101.43104939896475,38.883005269161785,7.500000000000001,4.979581868411771,0.005113433938064986,4,0.29411764705882354,0.0,POINT (-89.5727 44.1394)
110
+ US-xTE,NEON Lower Teakettle (TEAK),0.12673528157857603,0.6218498100003294,0.00386233286325533,0.07999999821186066,0.4099999964237213,120.00000000000001,120.00000000000001,8.276833564227385,4.8108573386186455,0.006050792316638027,4,0.1843137254901961,18.530790925993426,POINT (-119.006 37.0058)
111
+ US-Rwf,RCEW Upper Sheep Prescibed Fire,-0.03340489998452843,0.4925324999586286,0.0004061882397882294,0.09000000357627867,0.7099999785423279,138.83983302844948,40.0,7.598755217860953,5.800000190734863,0.014999999664723871,4,0.2901960784313726,0.0,POINT (-116.7231 43.1207)
112
+ US-xML,NEON Mountain Lake Biological Station (MLBS),0.2882344315758688,0.9161296971281405,0.2993259498906422,0.07999999821186066,0.4099999964237213,95.99999999999997,95.99999999999997,7.5,4.999999999999999,0.004999999888241291,4,0.2627450980392157,23.19730922838923,POINT (-80.5248 37.3783)
113
+ US-UiB,University of Illinois Miscanthus,0.02588083792723599,0.7958818613572446,0.44170655714515256,0.07999999821186066,0.4099999964237213,99.53390529561383,37.97104973926876,7.5,5.0,0.004999999888241291,4,0.2901960784313726,0.0,POINT (-88.1984 40.0628)
114
+ PR-xGU,NEON Guanica Forest (GUAN),0.4685091047827422,0.8021379455530312,0.0,0.07999999821186066,0.40999999642372137,85.65056946496779,85.04940948577665,9.5,4.190658672840825,0.00949634001773076,1,0.25098039215686274,4.63201088564212,POINT (-66.8687 17.9696)
115
+ US-ARM,ARM Southern Great Plains site- Lamont,0.2624583280383546,0.7246942182590146,0.17137567627875439,0.07999999821186066,0.40999999642372126,101.0,36.99999999999999,9.5,5.0,0.004999999888241291,3,0.2980392156862745,0.0,POINT (-97.4888 36.6058)
116
+ US-Kon,Konza Prairie LTER (KNZ),0.22953957985158824,0.7834399018400104,0.40847225152916894,0.08974012368296676,0.7022035863899819,140.93449300900355,39.92203607382953,7.5,5.779209805465924,0.01474011991663106,4,0.2901960784313726,0.0,POINT (-96.5603 39.0824)
117
+ US-HB2,Hobcaw Barony Mature Longleaf Pine,0.5037070076595864,0.769539040856944,0.017834696313681137,0.07999999821186064,0.40999999642372126,52.82109356256992,52.82109356256992,9.499999999999998,4.957050527297421,0.005238608039305144,3,0.25882352941176473,17.617756205505202,POINT (-79.244 33.3242)
118
+ US-xSL,"NEON North Sterling, CO (STER)",-0.025449434552178435,0.49520610753181765,0.3407758727411859,0.09000000357627867,0.7099999785423279,78.0,40.0,9.5,5.8000001907348615,0.014999999664723875,2,0.2980392156862745,0.0,POINT (-103.0293 40.4619)
119
+ US-xWD,NEON Woodworth (WOOD),-0.04178529617437308,0.7538628864753554,0.032479164613013686,0.07999999821186066,0.40999999642372126,100.99999999999999,37.0,7.5,5.000000000000001,0.004999999888241291,4,0.29411764705882354,0.0,POINT (-99.2414 47.1282)
120
+ US-CS4,Central Sands Irrigated Agricultural Field,-0.0030261665837659026,0.7767401520835833,0.09245373047365935,0.07999999821186066,0.4099999964237213,100.99999999999999,37.00000000000001,7.5,5.000000000000001,0.004999999888241291,4,0.2784313725490196,0.0,POINT (-89.5475 44.1597)
121
+ US-xAE,NEON Klemme Range Research Station (OAES),0.23350258235219168,0.5545383733710677,0.37112725395278673,0.09000000357627869,0.7099999785423278,78.0,40.0,9.499999999999998,5.800000190734862,0.014999999664723873,3,0.30196078431372547,0.0,POINT (-99.0588 35.4106)
122
+ US-GLE,GLEES,0.08343055737509326,0.7083671421156569,0.0014226370284919662,0.08809727414076567,0.6529181295003729,137.8139974874181,55.22182731847957,7.499999999999999,5.476536305779675,0.014048635478583545,4,0.2,15.02847456846871,POINT (-106.2399 41.3665)
@@ -0,0 +1,30 @@
1
+ import os
2
+ import pandas as pd
3
+ import geopandas as gpd
4
+
5
+ def load_ECOv002_calval_BESS_inputs() -> gpd.GeoDataFrame:
6
+ """
7
+ Load the input data for the BESS model from the ECOSTRESS Collection 2 Cal-Val dataset as a GeoDataFrame.
8
+
9
+ Returns:
10
+ gpd.GeoDataFrame: A GeoDataFrame containing the input data with geometry.
11
+ """
12
+
13
+ # Define the path to the input CSV file relative to this module's directory
14
+ module_dir = os.path.dirname(os.path.abspath(__file__))
15
+ input_file_path = os.path.join(module_dir, "ECOv002-cal-val-BESS-JPL-inputs.csv")
16
+
17
+ # Load the input data into a DataFrame
18
+ inputs_df = pd.read_csv(input_file_path)
19
+
20
+ # Convert the DataFrame to a GeoDataFrame using the geometry column
21
+ if 'geometry' not in inputs_df.columns:
22
+ raise ValueError("The input CSV file must contain a 'geometry' column with WKT or similar geometry data.")
23
+
24
+ inputs_gdf = gpd.GeoDataFrame(
25
+ inputs_df,
26
+ geometry=gpd.GeoSeries.from_wkt(inputs_df['geometry']),
27
+ crs="EPSG:4326" # Assuming WGS84 as the coordinate reference system
28
+ )
29
+
30
+ return inputs_gdf
@@ -0,0 +1,19 @@
1
+ import os
2
+ import pandas as pd
3
+
4
+ def load_ECOv002_static_tower_BESS_inputs() -> pd.DataFrame:
5
+ """
6
+ Load the input data for the BESS-JPL model from the ECOSTRESS Collection 2 Cal-Val dataset.
7
+
8
+ Returns:
9
+ pd.DataFrame: A DataFrame containing the input data.
10
+ """
11
+
12
+ # Define the path to the input CSV file relative to this module's directory
13
+ module_dir = os.path.dirname(os.path.abspath(__file__))
14
+ input_file_path = os.path.join(module_dir, "ECOv002-static-tower-BESS-JPL-inputs.csv")
15
+
16
+ # Load the input data into a DataFrame
17
+ inputs_df = pd.read_csv(input_file_path)
18
+
19
+ return inputs_df
@@ -0,0 +1,22 @@
1
+ from typing import Union
2
+
3
+ import numpy as np
4
+ import rasters as rt
5
+ from rasters import Raster
6
+
7
+
8
+ def FVC_from_NDVI(NDVI: Union[Raster, np.ndarray]) -> Union[Raster, np.ndarray]:
9
+ """
10
+ Convert Normalized Difference Vegetation Index (NDVI) to Fractional Vegetation Cover (FVC).
11
+
12
+ Parameters:
13
+ NDVI (Union[Raster, np.ndarray]): Input NDVI data.
14
+
15
+ Returns:
16
+ Union[Raster, np.ndarray]: Converted FVC data.
17
+ """
18
+ NDVIv = 0.52 # +- 0.03
19
+ NDVIs = 0.04 # +- 0.03
20
+ FVC = rt.clip((NDVI - NDVIs) / (NDVIv - NDVIs), 0.0, 1.0)
21
+
22
+ return FVC
@@ -0,0 +1,28 @@
1
+ from typing import Union
2
+
3
+ import numpy as np
4
+ import rasters as rt
5
+ from rasters import Raster
6
+
7
+ from .constants import KPAR, MIN_FIPAR, MAX_FIPAR, MIN_LAI, MAX_LAI
8
+
9
+
10
+ def LAI_from_NDVI(
11
+ NDVI: Union[Raster, np.ndarray],
12
+ min_fIPAR: float = MIN_FIPAR,
13
+ max_fIPAR: float = MAX_FIPAR,
14
+ min_LAI: float = MIN_LAI,
15
+ max_LAI: float = MAX_LAI) -> Union[Raster, np.ndarray]:
16
+ """
17
+ Convert Normalized Difference Vegetation Index (NDVI) to Leaf Area Index (LAI).
18
+
19
+ Parameters:
20
+ NDVI (Union[Raster, np.ndarray]): Input NDVI data.
21
+
22
+ Returns:
23
+ Union[Raster, np.ndarray]: Converted LAI data.
24
+ """
25
+ fIPAR = rt.clip(NDVI - 0.05, min_fIPAR, max_fIPAR)
26
+ LAI = rt.clip(-np.log(1 - fIPAR) * (1 / KPAR), min_LAI, max_LAI)
27
+
28
+ return LAI
Binary file
Binary file
Binary file
Binary file
BESS_JPL/__init__.py ADDED
@@ -0,0 +1,5 @@
1
+ from .BESS_JPL import *
2
+ from .version import __version__
3
+
4
+ __author__ = "Gregory H. Halverson"
5
+
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,90 @@
1
+ from os.path import join, abspath, dirname
2
+
3
+ import rasters as rt
4
+ import numpy as np
5
+
6
+ from .constants import *
7
+
8
+ def calculate_VCmax(
9
+ LAI: np.ndarray,
10
+ LAI_minimum: np.ndarray,
11
+ LAI_maximum: np.ndarray,
12
+ peakVCmax_C3_μmolm2s1: np.ndarray,
13
+ peakVCmax_C4_μmolm2s1: np.ndarray,
14
+ SZA_deg: np.ndarray,
15
+ kn: np.ndarray,
16
+ A: np.ndarray = A):
17
+ """
18
+ Calculate the maximum carboxylation rate (VCmax) at 25°C for C3 and C4 plants.
19
+
20
+ This function computes the sunlit and shaded maximum carboxylation rates for C3 and C4 plants
21
+ based on the Leaf Area Index (LAI), solar zenith angle (SZA), and other physiological parameters.
22
+
23
+ Parameters:
24
+ LAI (np.ndarray): Leaf Area Index, the total one-sided green leaf area per unit ground area (dimensionless).
25
+ LAI_minimum (np.ndarray): Minimum LAI for the vegetation type (dimensionless).
26
+ LAI_maximum (np.ndarray): Maximum LAI for the vegetation type (dimensionless).
27
+ peakVCmax_C3 (np.ndarray): Peak maximum carboxylation rate at 25°C for C3 plants (μmol CO₂ m⁻² s⁻¹).
28
+ peakVCmax_C4 (np.ndarray): Peak maximum carboxylation rate at 25°C for C4 plants (μmol CO₂ m⁻² s⁻¹).
29
+ SZA (np.ndarray): Solar Zenith Angle, the angle between the sun's rays and the vertical direction (degrees).
30
+ kn (np.ndarray): Extinction coefficient for nitrogen, describing attenuation within the canopy (dimensionless).
31
+ A (np.ndarray): Scaling factor, determines the proportion of peakVCmax used in the calculation (dimensionless).
32
+
33
+ Returns:
34
+ dict: A dictionary containing the following keys and their corresponding values:
35
+ - VCmax_C3_sunlit_μmolm2s1
36
+ - VCmax_C4_sunlit_μmolm2s1
37
+ - VCmax_C3_shaded_μmolm2s1
38
+ - VCmax_C4_shaded_μmolm2s1
39
+ """
40
+ # Normalize LAI to calculate the scaling factor (sf)
41
+ sf = np.clip(np.clip(LAI - LAI_minimum, 0, None) / np.clip(LAI_maximum - LAI_minimum, 1, None), 0, 1)
42
+ sf = np.where(np.isreal(sf), sf, 0)
43
+ sf = np.where(np.isnan(sf), 0, sf)
44
+
45
+ # Calculate maximum carboxylation rate at 25°C for C3 plants
46
+ VCmax_C3_μmolm2s1 = A * peakVCmax_C3_μmolm2s1 + (1 - A) * peakVCmax_C3_μmolm2s1 * sf
47
+
48
+ # Calculate maximum carboxylation rate at 25°C for C4 plants
49
+ VCmax_C4_μmolm2s1 = A * peakVCmax_C4_μmolm2s1 + (1 - A) * peakVCmax_C4_μmolm2s1 * sf
50
+
51
+ # Calculate the beam extinction coefficient (kb)
52
+ kb = np.where(SZA_deg > 89, 50.0, 0.5 / np.cos(np.radians(SZA_deg)))
53
+
54
+ # Combine extinction coefficients for nitrogen and beam attenuation
55
+ kn_kb_Lc = kn + kb * LAI
56
+
57
+ # Precompute exponential terms for light attenuation
58
+ exp_neg_kn_kb_Lc = np.exp(-kn_kb_Lc)
59
+ exp_neg_kn = np.exp(-kn)
60
+
61
+ # Scale VCmax by LAI for C3 plants
62
+ LAI_VCmax_C3 = LAI * VCmax_C3_μmolm2s1
63
+
64
+ # Calculate total maximum carboxylation rate at 25°C for C3 plants
65
+ VCmax_C3_total_μmolm2s1 = LAI_VCmax_C3 * (1 - exp_neg_kn) / kn
66
+
67
+ # Calculate sunlit maximum carboxylation rate at 25°C for C3 plants
68
+ VCmax_C3_sunlit_μmolm2s1 = LAI_VCmax_C3 * (1 - exp_neg_kn_kb_Lc) / kn_kb_Lc
69
+
70
+ # Calculate shaded maximum carboxylation rate at 25°C for C3 plants
71
+ VCmax_C3_shaded_μmolm2s1 = VCmax_C3_total_μmolm2s1 - VCmax_C3_sunlit_μmolm2s1
72
+
73
+ # Scale VCmax by LAI for C4 plants
74
+ LAI_VCmax_C4 = LAI * VCmax_C4_μmolm2s1
75
+
76
+ # Calculate total maximum carboxylation rate at 25°C for C4 plants
77
+ VCmax_C4_total_μmolm2s1 = LAI_VCmax_C4 * (1 - exp_neg_kn) / kn
78
+
79
+ # Calculate sunlit maximum carboxylation rate at 25°C for C4 plants
80
+ VCmax_C4_sunlit_μmolm2s1 = LAI_VCmax_C4 * (1 - exp_neg_kn_kb_Lc) / kn_kb_Lc
81
+
82
+ # Calculate shaded maximum carboxylation rate at 25°C for C4 plants
83
+ VCmax_C4_shaded_μmolm2s1 = VCmax_C4_total_μmolm2s1 - VCmax_C4_sunlit_μmolm2s1
84
+
85
+ return {
86
+ "VCmax_C3_sunlit_μmolm2s1": VCmax_C3_sunlit_μmolm2s1,
87
+ "VCmax_C4_sunlit_μmolm2s1": VCmax_C4_sunlit_μmolm2s1,
88
+ "VCmax_C3_shaded_μmolm2s1": VCmax_C3_shaded_μmolm2s1,
89
+ "VCmax_C4_shaded_μmolm2s1": VCmax_C4_shaded_μmolm2s1
90
+ }
@@ -0,0 +1,119 @@
1
+ """
2
+ Bulk Aerodynamic Resistance Calculation Module
3
+
4
+ This module calculates bulk aerodynamic resistance and related parameters for
5
+ energy balance and turbulent flux models.
6
+
7
+ References:
8
+ Ryu, Y., Baldocchi, D. D., Ma, S., & Hehn, T. (2008). Interannual variability of
9
+ evapotranspiration and energy exchange over an annual grassland in California.
10
+ Journal of Geophysical Research, 113, D09104. doi:10.1029/2007JD009263
11
+
12
+ Thom, A. S. (1975). Momentum, mass and heat exchange of plant communities.
13
+ In Vegetation and the Atmosphere (pp. 57-109). Academic Press.
14
+
15
+ Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. (1998).
16
+ Crop evapotranspiration - Guidelines for computing crop water requirements.
17
+ FAO Irrigation and drainage paper 56.
18
+ """
19
+
20
+ from typing import Tuple
21
+ import numpy as np
22
+ from .calculate_friction_velocity import calculate_friction_velocity
23
+
24
+
25
+ # Global constants for aerodynamic resistance calculations
26
+ # Minimum wind speed to prevent division by zero and represent natural convection
27
+ # Even in "still" conditions, buoyancy-driven convection typically maintains ~0.1-0.5 m/s
28
+ # Reference: Allen et al. (1998) FAO-56, Thom (1975)
29
+ MIN_WIND_SPEED_MPS = 0.1
30
+
31
+ # Maximum aerodynamic resistance representing the upper limit when forced convection
32
+ # becomes negligible and free (buoyancy-driven) convection dominates
33
+ # Typical values in literature range from 500-1000 s/m
34
+ # Reference: Ryu et al. (2008), SEBS model (Su, 2002)
35
+ MAX_AERODYNAMIC_RESISTANCE_SM = 1000.0
36
+
37
+ # Standard meteorological reference height for wind speed measurements
38
+ # WMO convention: 10 m above ground level
39
+ # Reference: WMO (2018) Guide to Instruments and Methods of Observation
40
+ REFERENCE_HEIGHT_M = 10.0
41
+
42
+ # von Karman constant - universal constant for turbulent flow
43
+ VON_KARMAN_CONSTANT = 0.4
44
+
45
+
46
+ def calculate_bulk_aerodynamic_resistance(
47
+ wind_speed_mps: np.ndarray,
48
+ canopy_height_meters: np.ndarray,
49
+ min_wind_speed: float = MIN_WIND_SPEED_MPS,
50
+ max_resistance: float = MAX_AERODYNAMIC_RESISTANCE_SM,
51
+ reference_height_m: float = REFERENCE_HEIGHT_M) -> Tuple[np.ndarray, np.ndarray, np.ndarray]:
52
+ """
53
+ Calculate bulk aerodynamic resistance and related parameters for turbulent transfer.
54
+
55
+ Aerodynamic resistance represents the difficulty of transferring heat, water vapor,
56
+ and momentum through the air boundary layer above a surface. It depends on wind speed
57
+ and surface roughness (characterized by canopy height).
58
+
59
+ Physical basis:
60
+ - When wind speed → 0, aerodynamic resistance → ∞ (no turbulent mixing)
61
+ - In practice, buoyancy-driven convection sets an upper limit (~1000 s/m)
62
+ - Roughness length (z0) is approximated as 5% of canopy height
63
+ - Friction velocity (u*) characterizes turbulent momentum transfer
64
+
65
+ Args:
66
+ wind_speed_mps (np.ndarray): Wind speed in meters per second [m/s] at reference height.
67
+ canopy_height_meters (np.ndarray): Canopy height in meters [m].
68
+ min_wind_speed (float, optional): Minimum wind speed to prevent division by zero
69
+ and represent natural convection. Defaults to 0.1 m/s.
70
+ max_resistance (float, optional): Maximum aerodynamic resistance representing
71
+ the upper limit when free convection dominates. Defaults to 1000 s/m.
72
+ reference_height_m (float, optional): Height at which wind speed is measured.
73
+ Defaults to 10 m (WMO standard for meteorological observations).
74
+
75
+ Returns:
76
+ Tuple[np.ndarray, np.ndarray, np.ndarray]:
77
+ - R: Bulk aerodynamic resistance [s/m]
78
+ - Rs: Surface aerodynamic resistance [s/m] (= 0.5 * R)
79
+ - Rc: Canopy aerodynamic resistance [s/m] (= R)
80
+
81
+ References:
82
+ Ryu, Y., Baldocchi, D. D., Ma, S., & Hehn, T. (2008). Equation (2-4).
83
+ Thom, A. S. (1975). Momentum, mass and heat exchange of plant communities.
84
+ Allen, R. G., et al. (1998). FAO Irrigation and drainage paper 56.
85
+
86
+ Notes:
87
+ - Units: Aerodynamic resistance is in s/m (seconds per meter)
88
+ - Typical range: 10-50 s/m (windy), 50-200 s/m (moderate), 200-500 s/m (calm)
89
+ - Values > 1000 s/m indicate negligible turbulent transport
90
+ - For flux tower data (often measured at 2-3 m), adjust reference_height_m accordingly
91
+ """
92
+ k = VON_KARMAN_CONSTANT
93
+
94
+ # Apply minimum wind speed to avoid division by zero and represent natural convection
95
+ # Even in "calm" conditions, buoyancy-driven mixing maintains some air movement
96
+ wind_speed_mps = np.clip(wind_speed_mps, min_wind_speed, None)
97
+ # Roughness length (z0) approximated as 5% of canopy height, with minimum of 0.05 m
98
+ # This is a common approximation for vegetation surfaces
99
+ z0 = np.clip(canopy_height_meters * 0.05, 0.05, None)
100
+
101
+ # Calculate friction velocity using logarithmic wind profile
102
+ # Characterizes turbulent momentum transfer intensity
103
+ ustar = calculate_friction_velocity(wind_speed_mps, reference_height_m, z0, k)
104
+
105
+ # Bulk aerodynamic resistance - Eq. (2-4) from Ryu et al. (2008)
106
+ # First term: resistance in the inertial sublayer
107
+ # Second term: resistance in the roughness sublayer
108
+ R = wind_speed_mps / (ustar * ustar) + 2.0 / (k * ustar)
109
+
110
+ # Cap resistance at maximum value representing transition to free convection
111
+ # When forced convection (wind) is weak, buoyancy-driven convection takes over
112
+ R = np.clip(R, None, max_resistance)
113
+
114
+ # Surface and canopy resistances derived from bulk resistance
115
+ # These are used in separate energy balance calculations
116
+ Rs = 0.5 * R
117
+ Rc = R
118
+
119
+ return R, Rs, Rc
@@ -0,0 +1,111 @@
1
+ """
2
+ Friction Velocity Calculation Module
3
+
4
+ This module calculates friction velocity (u*), a fundamental scaling parameter
5
+ in atmospheric surface layer turbulence theory. Friction velocity characterizes
6
+ the intensity of turbulent momentum transfer between the atmosphere and surface.
7
+
8
+ The friction velocity is derived from the logarithmic wind profile, which describes
9
+ how wind speed varies with height in the atmospheric surface layer under neutral
10
+ stability conditions.
11
+
12
+ References:
13
+ Brutsaert, W. (1982). Evaporation into the Atmosphere: Theory, History and
14
+ Applications. Springer, Dordrecht. Chapter 3: Turbulent Transfer in the
15
+ Surface Layer (pp. 41-72).
16
+
17
+ Thom, A. S. (1975). Momentum, mass and heat exchange of plant communities.
18
+ In Vegetation and the Atmosphere (pp. 57-109). Academic Press.
19
+
20
+ Garratt, J. R. (1992). The Atmospheric Boundary Layer. Cambridge University Press.
21
+ Chapter 3: The Neutral Surface Layer (pp. 41-71).
22
+
23
+ Monteith, J. L., & Unsworth, M. H. (2013). Principles of Environmental Physics:
24
+ Plants, Animals, and the Atmosphere (4th ed.). Academic Press.
25
+ """
26
+
27
+ import numpy as np
28
+
29
+
30
+ # von Karman constant - universal constant for turbulent flow (~0.40-0.41)
31
+ # This is an empirical constant derived from atmospheric measurements
32
+ VON_KARMAN_CONSTANT = 0.4
33
+
34
+
35
+ def calculate_friction_velocity(
36
+ wind_speed_mps: np.ndarray,
37
+ reference_height_m: float,
38
+ roughness_length_m: np.ndarray,
39
+ von_karman_constant: float = VON_KARMAN_CONSTANT) -> np.ndarray:
40
+ """
41
+ Calculate friction velocity from wind speed using logarithmic wind profile theory.
42
+
43
+ Friction velocity (u*) is a scaling parameter that characterizes the intensity
44
+ of turbulent momentum transfer in the atmospheric surface layer. It is defined
45
+ as u* = sqrt(τ/ρ), where τ is the surface shear stress and ρ is air density.
46
+
47
+ Under neutral atmospheric stability, the logarithmic wind profile relates
48
+ wind speed at a given height to friction velocity:
49
+
50
+ U(z) = (u*/k) * ln(z/z0)
51
+
52
+ Rearranging to solve for u*:
53
+
54
+ u* = U(z) * k / ln(z/z0)
55
+
56
+ where:
57
+ - U(z) is wind speed at height z
58
+ - k is von Karman constant (≈ 0.4)
59
+ - z0 is roughness length (characterizes surface roughness)
60
+
61
+ Physical interpretation:
62
+ - Higher u* indicates stronger turbulent mixing
63
+ - u* typically ranges from 0.1-1.0 m/s over vegetated surfaces
64
+ - u* ≈ 0.1-0.3 m/s: weak turbulence (light winds, smooth surfaces)
65
+ - u* ≈ 0.3-0.7 m/s: moderate turbulence (typical daytime conditions)
66
+ - u* ≈ 0.7-1.0+ m/s: strong turbulence (high winds, rough surfaces)
67
+
68
+ Args:
69
+ wind_speed_mps (np.ndarray): Wind speed in meters per second [m/s]
70
+ measured at reference height.
71
+ reference_height_m (float): Height at which wind speed is measured [m].
72
+ Typically 10 m for meteorological observations or 2-3 m for flux towers.
73
+ roughness_length_m (np.ndarray): Roughness length in meters [m].
74
+ Characterizes surface roughness; typically 5-10% of canopy height.
75
+ von_karman_constant (float, optional): von Karman constant (dimensionless).
76
+ Defaults to 0.4. Universal constant for turbulent flow.
77
+
78
+ Returns:
79
+ np.ndarray: Friction velocity in meters per second [m/s].
80
+
81
+ Raises:
82
+ ValueError: If reference_height_m <= roughness_length_m (logarithm undefined).
83
+
84
+ References:
85
+ Brutsaert, W. (1982). Evaporation into the Atmosphere, Chapter 3.
86
+ Thom, A. S. (1975). Momentum, mass and heat exchange.
87
+ Garratt, J. R. (1992). The Atmospheric Boundary Layer, Chapter 3.
88
+
89
+ Notes:
90
+ - This formulation assumes neutral atmospheric stability (no buoyancy effects)
91
+ - For stable or unstable conditions, stability corrections should be applied
92
+ - The logarithmic profile is valid in the surface layer (~10-100 m)
93
+ - Measurement height should be well above the roughness sublayer (z >> z0)
94
+
95
+ Example:
96
+ >>> wind_speed = np.array([5.0, 3.0, 7.0]) # m/s at 10 m height
97
+ >>> reference_height = 10.0 # meters
98
+ >>> roughness_length = np.array([0.1, 0.5, 0.05]) # meters
99
+ >>> u_star = calculate_friction_velocity(wind_speed, reference_height, roughness_length)
100
+ >>> print(u_star)
101
+ [0.435 0.414 0.536] # approximate values in m/s
102
+ """
103
+ # Ensure roughness length is positive and less than reference height
104
+ # to avoid division by zero or negative/undefined logarithm
105
+ roughness_length_m = np.clip(roughness_length_m, 1e-6, reference_height_m * 0.99)
106
+
107
+ # Calculate friction velocity using logarithmic wind profile
108
+ # u* = U * k / ln(z/z0)
109
+ friction_velocity_mps = wind_speed_mps * von_karman_constant / np.log(reference_height_m / roughness_length_m)
110
+
111
+ return friction_velocity_mps