private subroutine GlacierParameterUpdate(time)
update parameter map that change in time
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
type(DateTime),
|
intent(in) |
|
|
:: |
time |
|
Variables
Type |
Visibility | Attributes |
|
Name |
| Initial | |
character(len=300),
|
public |
|
:: |
filename |
|
|
|
character(len=300),
|
public |
|
:: |
varname |
|
|
|
Source Code
SUBROUTINE GlacierParameterUpdate &
!
(time)
IMPLICIT NONE
!Arguments with intent(in):
TYPE (DateTime), INTENT (IN) :: time
!local declarations:
CHARACTER (LEN = 300) :: filename
CHARACTER (LEN = 300) :: varname
!------------------------------end of declarations-----------------------------
!melt coefficient
IF ( time == meltCoefficientIce % next_time ) THEN
!destroy current grid
filename = meltCoefficientIce % file_name
varname = meltCoefficientIce % var_name
CALL GridDestroy (meltCoefficientIce)
!read new grid in netcdf file
CALL NewGrid (meltCoefficientIce, TRIM(filename), NET_CDF, &
variable = TRIM(varname), time = time)
END IF
!melt temperature
IF ( time == meltTemperature % next_time ) THEN
!destroy current grid
filename = meltTemperature % file_name
varname = meltTemperature % var_name
CALL GridDestroy (meltTemperature)
!read new grid in netcdf file
CALL NewGrid (meltTemperature, TRIM(filename), NET_CDF, &
variable = TRIM(varname), time = time)
END IF
!hydraulic conductivity
IF ( time == iceConductivity % next_time ) THEN
!destroy current grid
filename = iceConductivity % file_name
varname = iceConductivity % var_name
CALL GridDestroy (iceConductivity)
!read new grid in netcdf file
CALL NewGrid (iceConductivity, TRIM(filename), NET_CDF, &
variable = TRIM(varname), time = time)
END IF
RETURN
END SUBROUTINE GlacierParameterUpdate