From e46ba7254c0ddca26660240161aef1b35725a392 Mon Sep 17 00:00:00 2001 From: tillf Date: Wed, 30 Jun 2021 14:07:42 +0200 Subject: [PATCH] relevant for doloadstate=TRUE, sediment=TRUE, routingmode=2: suspended sediment storage of uninitialized entities was negative - *.stat files are now searched in Output/, then Input/init_conds updated variable list --- docs/index.md | 10 +- docs/variables.ods | Bin 35770 -> 35778 bytes src/General/common_h.f90 | 5 +- src/Hillslope/model_state_io.f90 | 231 ++++++++++++++----------------- 4 files changed, 115 insertions(+), 131 deletions(-) diff --git a/docs/index.md b/docs/index.md index 7b28abc..d205988 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,13 +4,13 @@ main contributors: Andreas Güntner (2000-2002), Eva Nora Müller (2006-2009), George Mamede(2006-2009), Till Francke (2006-...), Pedro Medeiros (2007-2008), Tobias Pilz (2016), Erwin Rottler (2017) -**30.12.2020
-WASA-SED rev_268** +**30.6.2021
+WASA-SED rev_269** Developed within the SESAM-Project:
Sediment Export of Semi-Arid Catchment: Monitoring and Modelling 2005-2008
SESAM II 2010-2014,
-2015-2020 +2015-2021 Institute of Environmental Sciences and Geography, University of Potsdam, Potsdam,
Deutsches Geoforschungszentrum Potsdam,
@@ -1615,8 +1615,8 @@ This file specifies the extraterrestrial incoming shortwave radiation at the top ### 3.6 Input/Output of state variables (optional) -The state of (some) system variables can be stored in files. This allows their later analysis and resuming runs from them. Thus, any of these files can be generated by the model, and used as an input in a successive call. These capabilities can be enabled in ```do.dat``` lines 36-37 (see [Figure 1](#figure-1)). -These files are optional. If not present, default values are used (e.g., 100 % relative saturation for the soils, 0 for most other entities). These files are expected in the WASA-SED output directory with the extension ```stat```. If present and enabled in ```do.dat```, WASA-SED loads them at model startup. It will then generate files with the extension ```stat_start```, that describe the status of the model in the beginning of the simulation (these should be identical to the ```stat``` which existed before). New ```stat``` files are written at the the end of each simulation year. . +The state of (some) system variables can be stored in files. This allows their later analysis and resuming runs from them. Thus, any of these files can be generated by the model, and used as an input in a successive model run. These capabilities can be enabled in ```do.dat``` lines 36-37 (see [Figure 1](#figure-1)). +These files are optional. If present and enabled in ```do.dat```, WASA-SED loads them at model startup. Each file is first searched for in the ```Output``` directory. If not found there, WASA-SED searches in ```Input/init_conds```. If not present in either, default values are used (e.g., 100 % relative saturation for the soils, 0 for most other entities). After startup, WASA-SED will generate files with the extension ```stat_start```, that describe the status of the model in the beginning of the simulation (these should be identical to the ```stat``` when provided). New ```stat``` files are written at the the end of each simulation year. diff --git a/docs/variables.ods b/docs/variables.ods index d5498378c0aeb9dfb6ad10bc1b4591085e011494..f9ee90f7caa9dadbb5fac35133c5ab8f6a4bf56a 100644 GIT binary patch delta 29494 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 cMw9=0$$x*8&j0) then return end if @@ -1204,7 +1198,7 @@ subroutine init_gw_conds(gw_conds_file) if (errors>0) then return end if - close(11) + CLOSE(file_handle) end subroutine init_gw_conds @@ -1221,17 +1215,14 @@ subroutine init_river_conds(river_conds_file) real, pointer :: array_ptr(:) character(len=1000) :: linestr - OPEN(11,FILE=river_conds_file,STATUS='old',action='read', IOSTAT=i) !check existence of file - if (i/=0) then - write(*,'(a,a,a)')' WARNING: River storage file ''',trim(river_conds_file),''' not found, using defaults.' - CLOSE(11) + file_handle = get_file_handle((pfadp), (pfadn), river_conds_file, "river storage") !pick source directory + + if (file_handle == 0) then !load values from file return end if - write(*,'(a,a,a)')' ... river storage from file ''',trim(river_conds_file),'''.' - !verify that this river file belongs to the selected routing mode - READ(11,'(A)') linestr; + READ(file_handle,'(A)') linestr; if ( (river_transport == 1 .AND. linestr(1:3) /= "UHG") .OR. & ( ((river_transport == 2) .or. (river_transport == 3)) .AND. linestr(1:3) /= "Mus") ) then write(*,'(a,a,a)')' WARNING: River storage file ''',trim(river_conds_file),''' does not match selected routing mode. File ignored, using defaults.' @@ -1240,7 +1231,7 @@ subroutine init_river_conds(river_conds_file) end if !skip next header line - READ(11,*) + READ(file_handle,*) if (river_transport == 1) then tt = size(hrout,dim=1)-1 !length of UHG minus 1 @@ -1248,7 +1239,7 @@ subroutine init_river_conds(river_conds_file) qout(1,1:subasin) =-1. !indicator for "not read" !check that the current file matches the specs of the current UHG - READ(11,'(A)',IOSTAT=iostatus) linestr + READ(file_handle,'(A)',IOSTAT=iostatus) linestr IF (iostatus /=0) then write(*,'(a,a,a)')'WARNING: format error in river storage file ''',trim(river_conds_file),', line ',line,', using defaults.' else @@ -1262,7 +1253,7 @@ subroutine init_river_conds(river_conds_file) line = 1 !line counter DO WHILE (.TRUE.) - READ(11,'(A)',IOSTAT=iostatus) linestr + READ(file_handle,'(A)',IOSTAT=iostatus) linestr IF (iostatus /=0) exit line = line+2 @@ -1325,21 +1316,19 @@ subroutine init_sediment_conds(sediment_conds_file) end if riverbed_storage(:,:)=-1. !indicator for "not read" - OPEN(11,FILE=sediment_conds_file,STATUS='old',action='read', IOSTAT=i) !check existence of file - if (i/=0) then - write(*,'(a,a,a)')' WARNING: Sediment storage file ''',trim(sediment_conds_file),''' not found, using defaults.' - CLOSE(11) + + file_handle = get_file_handle((pfadp), (pfadn), sediment_conds_file, "river sediment storage") !pick source directory + + if (file_handle == 0) then !load values from file riverbed_storage(:,:)=0. !set to default - return + return end if - write(*,'(a,a,a)')' ... sediment storage from file ''',trim(sediment_conds_file),'''.' - !read 2 header lines into buffer - READ(11,*); READ(11,*) + READ(file_handle,*); READ(file_handle,*) DO WHILE (.TRUE.) - READ(11,*,IOSTAT=iostatus) i, k, dummy1 + READ(file_handle,*,IOSTAT=iostatus) i, k, dummy1 IF (iostatus == -1) exit !end of file IF (iostatus /= 0) THEN WRITE(*,'(a,a,a)') ' WARNING: format error in sediment_storage.stat, line skipped, assumed 0.' @@ -1382,20 +1371,19 @@ subroutine init_susp_sediment_conds(susp_sediment_conds_file) real :: dummy1 sed_storage(:,:)=-1. !indicator for "not read" - OPEN(11,FILE=susp_sediment_conds_file,STATUS='old',action='read', IOSTAT=i) !check existence of file - if (i/=0) then - write(*,'(a,a,a)')' WARNING: Sediment storage file ''',trim(susp_sediment_conds_file),''' not found, using defaults.' - CLOSE(11) - return - end if - write(*,'(a,a,a)')' ... sediment storage from file ''',trim(susp_sediment_conds_file),'''.' + file_handle = get_file_handle((pfadp), (pfadn), susp_sediment_conds_file, "river susp. sediment storage") !pick source directory + + if (file_handle == 0) then !load values from file + sed_storage(:,:) = 0. !default value + return + end if !read 2 header lines into buffer - READ(11,*); READ(11,*) + READ(file_handle,*); READ(file_handle,*) DO WHILE (.TRUE.) - READ(11,*,IOSTAT=iostatus) i, k, dummy1 + READ(file_handle,*,IOSTAT=iostatus) i, k, dummy1 IF (iostatus == -1) exit !end of file IF (iostatus /= 0) THEN WRITE(*,'(a,a,a)') ' WARNING: format error in susp_sediment_storage.stat, line skipped, assumed 0.' @@ -1443,18 +1431,15 @@ subroutine init_lake_conds(lake_conds_file) return end if - OPEN(11,FILE=lake_conds_file,STATUS='old',action='read', IOSTAT=i) !check existence of file - if (i/=0) then - write(*,'(a,a,a)')' WARNING: Lake storage file ''',trim(lake_conds_file),''' not found, using defaults.' - CLOSE(11) - else !initialisation via files - write(*,'(a,a,a)')' ... lake storage from file ''',trim(lake_conds_file),'''.' + file_handle = get_file_handle((pfadp), (pfadn), lake_conds_file, "small reservoirs") !pick source directory + + if (file_handle /= 0) then !load values from file lakewater_hrr(1,:,:) = -1 !for detecting uninitialized values later - READ(11,*, IOSTAT=iostatus); READ(11,*, IOSTAT=iostatus)!read 2 header lines + READ(file_handle,*, IOSTAT=iostatus); READ(file_handle,*, IOSTAT=iostatus)!read 2 header lines DO WHILE (.TRUE.) - READ(11, *, IOSTAT=iostatus) i, k, dummy1 + READ(file_handle, *, IOSTAT=iostatus) i, k, dummy1 IF (iostatus == -1) exit !end of file IF (iostatus /= 0) THEN @@ -1510,19 +1495,17 @@ subroutine init_reservoir_conds(reservoir_conds_file) elsewhere reservoir_read = .true. !for detecting uninitialized reservoirs later: non-existing reservoirs don't need to be red, though end where - OPEN(11,FILE=reservoir_conds_file,STATUS='old',action='read', IOSTAT=i) !check existence of file - if (i/=0) then - write(*,'(a,a,a)')' WARNING: reservoir storage file ''',trim(reservoir_conds_file),''' not found, using defaults.' - CLOSE(11) + + file_handle = get_file_handle((pfadp), (pfadn), reservoir_conds_file, "reservoirs") !pick source directory + + if (file_handle == 0) then !load values from file return end if - write(*,'(a,a,a)')' ... reservoir storage from file ''',trim(reservoir_conds_file),'''.' - - READ(11,*, IOSTAT=iostatus); READ(11,*, IOSTAT=iostatus)!read 2 header lines + READ(file_handle,*, IOSTAT=iostatus); READ(file_handle,*, IOSTAT=iostatus)!read 2 header lines DO WHILE (.TRUE.) - READ(11, *, IOSTAT=iostatus) i, dummy1 + READ(file_handle, *, IOSTAT=iostatus) i, dummy1 IF (iostatus == -1) exit !end of file IF (iostatus /= 0) THEN