Skip to content
Snippets Groups Projects
Commit f86e9b4d authored by Bruhwyler Roxane's avatar Bruhwyler Roxane
Browse files

Merge branch...

Merge branch '128-hotfix-the-visualization-methods-for-the-crop-models-don-t-work-anymore-because-of-126' into 'develop'

Resolve "[hotfix] The visualization methods for the crop models don't work anymore because of #126"

See merge request !36
parents bd485ed0 794124e4
No related branches found
No related tags found
1 merge request!36Resolve "[hotfix] The visualization methods for the crop models don't work anymore because of #126"
......@@ -8,6 +8,8 @@
from MODULES.CROPS.SIMPLE.run_simple import run_independant_years_of_crop
from MODULES.CROPS.STICS.JAVA.run_java_stics import run_independant_usms
from MODULES.CROPS.GRASSIM.run_grassim import run_grassim
from MODULES.DATA_MANAGEMENT.visualization_in_3D import open_pyvista_3D_visualization
from datetime import datetime
......@@ -41,3 +43,52 @@ def merge_results(objects):
merged_dict.update(object.nyears_data[year])
results[year] = merged_dict
return results
def visualize_map_of_a_variable(config, results, variable, scene_3D, meshes, year, MM_DD=None, unit=''):
"""
Visualize a specific spatialized variable in the 3D scene.
Parameters
----------
config : dict
Dictionnary with the configuration parameters of the crop model
results : dict
Dictionnary with the output of the crop model
variable : string
Name of the variable to visualize.
scene_3D : Pyvista Polydata
3D scene as a pyvista polydata.
meshes : Mesh object
Mesh object containing the coordinates of the points of interest.
year : int
Year fo which results will be visualized.
MM_DD : string
Date as a format 'MM-DD'
unit : string
Unit of the variable to visualize.
Returns
-------
None.
"""
if type(scene_3D) == list:
geo = scene_3D[0]
else:
geo = scene_3D
if config['CropModel'] == 'simple':
data = results[str(year)][variable][str(year)+'-'+MM_DD+' 00:00:00']
if config['CropModel'] == 'grassim':
data = results[str(year)][variable][datetime.strptime(str(year)+'-'+MM_DD+' 00:00:00', '%Y-%m-%d %H:%M:%S')]
if config['CropModel'] == 'stics':
data = results[str(year)][variable]
open_pyvista_3D_visualization(meshes.sourcepoints[:,:-1],
data,
geo,
variable+' map '+ config['CropModel']+' '+ str(year)+'-'+MM_DD+' ['+unit+']')
\ No newline at end of file
......@@ -19,7 +19,7 @@ from MODULES.ENVIRONMENT.light import Sun_positions_sampled, Sun_positions, Ligh
from MODULES.ENVIRONMENT.light import Ray_casting_scene
from MODULES.ENVIRONMENT.mesh import Mesh
from MODULES.PHOTOVOLTAICS.production import PV_Production
from MODULES.CROPS.run_crop_simulations import run_crop_simu
from MODULES.CROPS.run_crop_simulations import run_crop_simu, visualize_map_of_a_variable
PASE_Logger()
......@@ -114,13 +114,15 @@ for _ in ['2005', '2006', '2007']:
#Temporary line, this parameter (option_2D) should be in SCENARIOS input files (general parameters)
option_2D = 1 # 0: no 2D-spatialization ; 1 : 2D spatialization
Soil_plot, Crop_plot = run_crop_simu(crop_config, option_2D, WD.nyears_daily_data,
agro_results = run_crop_simu(crop_config, option_2D, WD.nyears_daily_data,
L.daily_irr_spat,
Loc_1)
# Display spatialized dry yield
if crop_config['CropModel'] == ('simple' or 'stics'):
Crop_plot.visualize_map_of_a_variable('Fresh_yield', PV_1_3Dconfig.PV_central_PD,
M, 2006, MM_DD='10-10', unit='g/m²')
visualize_map_of_a_variable(crop_config, agro_results, 'Fresh_yield',
PV_1_3Dconfig.PV_central_PD, M, 2006,
MM_DD='10-10', unit='g/m²')
else:
Crop_plot[0].visualize_map_of_a_variable('BM', PV_1_3Dconfig.PV_central_PD,
M, 2006, MM_DD='10-10', unit='t/ha')
visualize_map_of_a_variable(crop_config, agro_results,'BM',
PV_1_3Dconfig.PV_central_PD, M, 2006,
MM_DD='10-10', unit='t/ha')
......@@ -19,7 +19,7 @@ from MODULES.ENVIRONMENT.light import Sun_positions_sampled, Sun_positions, Ligh
from MODULES.ENVIRONMENT.light import Ray_casting_scene
from MODULES.ENVIRONMENT.mesh import Mesh
from MODULES.PHOTOVOLTAICS.production import PV_Production
from MODULES.CROPS.run_crop_simulations import run_crop_simu
from MODULES.CROPS.run_crop_simulations import run_crop_simu, visualize_map_of_a_variable
PASE_Logger()
# Import of general parameters
......@@ -210,19 +210,18 @@ PV_central.get_several_years_of_electricity_production(Sun_positions_complete, L
### CROP MODEL
#Temporary line, this parameter (option_2D) should be in SCENARIOS input files (general parameters)
option_2D = 1 # 0 pour pas de spatialisation et 1 pour une spatialisation du modèle de culture
results = run_crop_simu(crop_config, option_2D, WD.nyears_daily_data,
agro_results = run_crop_simu(crop_config, option_2D, WD.nyears_daily_data,
L.daily_irr_spat,
Loc_1)
# Code below obsolete since issue 126 (crop model outputs refactor)
"""
if crop_config['CropModel'] == ('simple' or 'stics'):
Crop_plot.visualize_map_of_a_variable('Fresh_yield', PV_1_3Dconfig.PV_central_PD,
M, 2008, MM_DD='10-10', unit='g/m²')
save_csv('mean_data.csv', Crop_plot.nyears_data, ['Dry_yield', 'Biomass'])
visualize_map_of_a_variable(crop_config, agro_results, 'Fresh_yield',
PV_1_3Dconfig.PV_central_PD, M, 2008,
MM_DD='10-10', unit='g/m²')
save_csv('mean_data.csv', agro_results, ['Dry_yield', 'Biomass'])
else:
Crop_plot[0].visualize_map_of_a_variable('BM', PV_1_3Dconfig.PV_central_PD,
M, 2008, MM_DD='10-10', unit='t/ha')
"""
\ No newline at end of file
visualize_map_of_a_variable(crop_config, agro_results,'BM',
PV_1_3Dconfig.PV_central_PD, M, 2008,
MM_DD='10-10', unit='t/ha')
save_csv('mean_data.csv', agro_results, ['BM'])
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment