Closed MaximeVdB closed 2 years ago
The parallel issue for external LIS call: I don't know what causes the LoadProfile issue from DEFAULT.SOL in large scale parallel LIS_Aquacrop runs, but replacing LoadProfile with LoadProfileProcessing at two locations (see below) solves the issue. Since I initialize the soil variables before from LIS, there is no need to set default properties. I now think that we need to differentiate between three cases: (1) soil file defined in prm file (2) (None) defined in prm file (the original Aquacrop 'Default' case) (3) (None) defined in prm file + soil parameters set in LIS beforehand I didn't have a good idea yet how to let Aquacrop know that we have case 3.
The two required changes are:
(1)
At the end of subroutine CheckForKeepSWC we need to have for a call from LIS:
call LoadProfileProcessing(VersionNr)
instead of
LoadProfile(GetProfFilefull())
(2)
In subroutine InitializeSettings we need to have for a call from LIS:
call LoadProfileProcessing(VersionNr)
instead
call LoadProfile(GetProfFilefull())
@mbechtold Now you can avoid the writing-and-reading of DEFAULT.SOL
files
by calling InitializeSettings
with a use_default_soil_file=.false.
argument.
And now giving (None)
as soil file name in the PRM/PRO file makes AquaCrop
implies using the DEFAULT.SOL
file, whereas external programs like LIS should
set it to (External)
.
Similar to #301, but only including the Soil part (the Crop part will be done separately later on).
Passes all relevant tests.