Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
f1f8593
Test
agetiran Jul 28, 2025
debc98b
Add HyMAP-3 to LIS
agetiran Jul 28, 2025
3e98832
Fix LIS Version
agetiran Jul 28, 2025
4c23c13
delete supporting files (not used in LIS)
agetiran Jul 28, 2025
bae6e9a
delete another supporting file not used in LIS
agetiran Jul 28, 2025
ab27712
this is just a test
agetiran Jul 29, 2025
5c441ab
Add new HyMAP-3 params and Make non-essential ones optional in LDT
agetiran Jul 29, 2025
89a58b6
Add new HyMAP-3 params and Make non-essential ones optional in LDT
agetiran Jul 29, 2025
0ea86a1
Tweaks to pacify ifort warnings with strict checks.
emkemp Sep 10, 2025
2ed0a7e
Tweaks to pacify Intel Fortran Compiler warnings.
emkemp Sep 15, 2025
4eb57f6
Tweaks to pacify Intel Fortran compiler warnings.
emkemp Sep 15, 2025
bcf2006
Tweaks to address Intel Fortran compiler warnings.
emkemp Sep 15, 2025
ba422a4
Tweaks to pacify Intel Fortran compiler warnings.
emkemp Sep 16, 2025
f535fc7
Tweaks to pacify Intel Fortran compiler warnings.
emkemp Sep 16, 2025
d2628c3
Multiple updates for HYMAP3 runoff data.
emkemp Sep 16, 2025
16cc413
Added missing code to actually register HYMAP3.
emkemp Sep 17, 2025
10312a0
Multiple updates.
emkemp Sep 18, 2025
ddf3bb6
More tweaks, including use of LIS_CONST_PATH_LEN.
emkemp Sep 18, 2025
a94045b
Added LDT_CONST_PATH_LEN, and removed print statements.
emkemp Sep 18, 2025
0f78c6b
Code cleanup.
emkemp Sep 18, 2025
e6e1fc4
Code cleanup.
emkemp Sep 18, 2025
254eae5
Code cleanup.
emkemp Sep 18, 2025
c288454
Code clean up.
emkemp Sep 18, 2025
3826446
Code cleanup.
emkemp Sep 18, 2025
7a7f5ec
Code cleanup.
emkemp Sep 18, 2025
03584b9
Cosmetic code cleanup.
emkemp Sep 22, 2025
293b0a6
Code cleanups.
emkemp Sep 24, 2025
a35292d
Code cleanup.
emkemp Sep 24, 2025
8fb4b5d
Code cleanup.
emkemp Sep 24, 2025
1d52050
Code cleanup.
emkemp Sep 24, 2025
bce6281
Code cleanup.
emkemp Sep 25, 2025
c53dd0e
Added intent attributes to arguments.
emkemp Sep 29, 2025
9215ca8
Shortened comment.
emkemp Sep 29, 2025
50d45ae
Shortened comment.
emkemp Sep 29, 2025
834d314
Added intnt attributes to arguments.
emkemp Sep 29, 2025
8400b1c
Added intent attributes to arguments.
emkemp Sep 29, 2025
bf95d9b
Code cleanup, including copyright updates.
emkemp Oct 2, 2025
e6be9a1
Update lis.config.adoc
agetiran Oct 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,340 changes: 838 additions & 502 deletions ldt/params/HYMAP/HYMAP_parmsMod.F90
100644 → 100755

Large diffs are not rendered by default.

67 changes: 67 additions & 0 deletions ldt/params/HYMAP/read_HYMAP_levee_height.F90
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
!-----------------------BEGIN NOTICE -- DO NOT EDIT-----------------------
! NASA Goddard Space Flight Center
! Land Information System Framework (LISF)
! Version 7.5
!
! Copyright (c) 2024 United States Government as represented by the
! Administrator of the National Aeronautics and Space Administration.
! All Rights Reserved.
!-------------------------END NOTICE -- DO NOT EDIT-----------------------
!BOP
!
! !ROUTINE: read_HYMAP_levee_height
! \label{read_HYMAP_levee_height}
!
! !REVISION HISTORY:
! 25 Jul 2005: Sujay Kumar; Initial Specification
! 20 Feb 2006: Sujay Kumar; Modified to support nesting
!
! !INTERFACE:
subroutine read_HYMAP_levee_height(n, array)

! !USES:
use ESMF
use HYMAP_parmsMod
use LDT_coreMod, only : LDT_rc
use LDT_fileIOMod, only : readLISdata
use LDT_logMod, only : LDT_logunit, LDT_getNextUnitNumber, &
LDT_releaseUnitNumber, LDT_endrun

implicit none

! !ARGUMENTS:
integer, intent(in) :: n
real, intent(inout) :: array(LDT_rc%lnc(n),LDT_rc%lnr(n),1)

integer :: ftn
integer :: c,r
logical :: file_exists

ftn = LDT_getNextUnitNumber()

inquire(file=trim(HYMAP_struc(n)%leveeheightfile), exist=file_exists)
if(.not.file_exists) then
write(LDT_logunit,*) '[ERR] HYMAP levee height map, ',&
trim(HYMAP_struc(n)%leveeheightfile),', not found.'
write(LDT_logunit,*) 'Program stopping ...'
call LDT_endrun
endif

open(ftn, file=trim(HYMAP_struc(n)%leveeheightfile), access='direct',&
status='old', form="unformatted", convert="big_endian", recl=4)

call readLISdata(n, ftn, HYMAP_struc(n)%hymap_proj, &
HYMAP_struc(n)%hymap_gridtransform, &
HYMAP_struc(n)%hymapparms_gridDesc(:), 1, array) ! 1 = 2D layer

do r=1,LDT_rc%lnr(n)
do c=1,LDT_rc%lnc(n)
if(array(c,r,1).lt.0) then
array(c,r,1) = LDT_rc%udef
endif
enddo
enddo

call LDT_releaseUnitNumber(ftn)

end subroutine read_HYMAP_levee_height
59 changes: 59 additions & 0 deletions ldt/params/HYMAP/read_HYMAP_node_lat.F90
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
!-----------------------BEGIN NOTICE -- DO NOT EDIT-----------------------
! NASA Goddard Space Flight Center
! Land Information System Framework (LISF)
! Version 7.5
!
! Copyright (c) 2024 United States Government as represented by the
! Administrator of the National Aeronautics and Space Administration.
! All Rights Reserved.
!-------------------------END NOTICE -- DO NOT EDIT-----------------------
!BOP
!
! !ROUTINE: read_HYMAP_node_lat
! \label{read_HYMAP_node_lat}
!
! !REVISION HISTORY:
! 25 Jul 2005: Sujay Kumar; Initial Specification
! 20 Feb 2006: Sujay Kumar; Modified to support nesting
!
! !INTERFACE:
subroutine read_HYMAP_node_lat(n, array)

! !USES:
use ESMF
use HYMAP_parmsMod
use LDT_coreMod, only : LDT_rc
use LDT_fileIOMod, only : readLISdata
use LDT_logMod, only : LDT_logunit, LDT_getNextUnitNumber, &
LDT_releaseUnitNumber, LDT_endrun

implicit none

! !ARGUMENTS:

integer, intent(in) :: n
real, intent(inout) :: array(LDT_rc%lnc(n),LDT_rc%lnr(n),1)

integer :: ftn
logical :: file_exists

ftn = LDT_getNextUnitNumber()

inquire(file=trim(HYMAP_struc(n)%nodelatfile), exist=file_exists)
if(.not.file_exists) then
write(LDT_logunit,*) '[ERR] HYMAP node latitude map, ',&
trim(HYMAP_struc(n)%nodelatfile),', not found.'
write(LDT_logunit,*) 'Program stopping ...'
call LDT_endrun
endif

open(ftn, file=trim(HYMAP_struc(n)%nodelatfile), access='direct',&
status='old', form="unformatted", convert="big_endian", recl=4)

call readLISdata(n, ftn, HYMAP_struc(n)%hymap_proj, &
HYMAP_struc(n)%hymap_gridtransform, &
HYMAP_struc(n)%hymapparms_gridDesc(:), 1, array) ! 1 = 2D layer

call LDT_releaseUnitNumber(ftn)

end subroutine read_HYMAP_node_lat
58 changes: 58 additions & 0 deletions ldt/params/HYMAP/read_HYMAP_node_lon.F90
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
!-----------------------BEGIN NOTICE -- DO NOT EDIT-----------------------
! NASA Goddard Space Flight Center
! Land Information System Framework (LISF)
! Version 7.5
!
! Copyright (c) 2024 United States Government as represented by the
! Administrator of the National Aeronautics and Space Administration.
! All Rights Reserved.
!-------------------------END NOTICE -- DO NOT EDIT-----------------------
!BOP
!
! !ROUTINE: read_HYMAP_node_lon
! \label{read_HYMAP_node_lon}
!
! !REVISION HISTORY:
! 25 Jul 2005: Sujay Kumar; Initial Specification
! 20 Feb 2006: Sujay Kumar; Modified to support nesting
!
! !INTERFACE:
subroutine read_HYMAP_node_lon(n, array)

! !USES:
use ESMF
use HYMAP_parmsMod
use LDT_coreMod, only : LDT_rc
use LDT_fileIOMod, only : readLISdata
use LDT_logMod, only : LDT_logunit, LDT_getNextUnitNumber, &
LDT_releaseUnitNumber, LDT_endrun

implicit none

! !ARGUMENTS:
integer, intent(in) :: n
real, intent(inout) :: array(LDT_rc%lnc(n),LDT_rc%lnr(n),1)

integer :: ftn
logical :: file_exists

ftn = LDT_getNextUnitNumber()

inquire(file=trim(HYMAP_struc(n)%nodelonfile), exist=file_exists)
if(.not.file_exists) then
write(LDT_logunit,*) '[ERR] HYMAP node longitude map, ', &
trim(HYMAP_struc(n)%nodelonfile),', not found.'
write(LDT_logunit,*) 'Program stopping ...'
call LDT_endrun
endif

open(ftn, file=trim(HYMAP_struc(n)%nodelonfile), access='direct', &
status='old', form="unformatted", convert="big_endian", recl=4)

call readLISdata(n, ftn, HYMAP_struc(n)%hymap_proj, &
HYMAP_struc(n)%hymap_gridtransform, &
HYMAP_struc(n)%hymapparms_gridDesc(:), 1, array) ! 1 = 2D layer

call LDT_releaseUnitNumber(ftn)

end subroutine read_HYMAP_node_lon
70 changes: 70 additions & 0 deletions ldt/params/HYMAP/read_HYMAP_urban_drain_outlet.F90
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
!-----------------------BEGIN NOTICE -- DO NOT EDIT-----------------------
! NASA Goddard Space Flight Center
! Land Information System Framework (LISF)
! Version 7.5
!
! Copyright (c) 2024 United States Government as represented by the
! Administrator of the National Aeronautics and Space Administration.
! All Rights Reserved.
!-------------------------END NOTICE -- DO NOT EDIT-----------------------
!BOP
!
! !ROUTINE: read_HYMAP_urban_drain_outlet
! \label{read_HYMAP_urban_drain_outlet}
!
! !REVISION HISTORY:
! 25 Jul 2005: Sujay Kumar; Initial Specification
! 20 Feb 2006: Sujay Kumar; Modified to support nesting
!
! !INTERFACE:
subroutine read_HYMAP_urban_drain_outlet(n, array)

! !USES:
use ESMF
use HYMAP_parmsMod
use LDT_coreMod, only : LDT_rc
use LDT_fileIOMod, only : readLISdata
use LDT_logMod, only : LDT_logunit, LDT_getNextUnitNumber, &
LDT_releaseUnitNumber, LDT_endrun

implicit none

! !ARGUMENTS:

integer, intent(in) :: n
real, intent(inout) :: array(LDT_rc%lnc(n),LDT_rc%lnr(n),1)

integer :: ftn
integer :: c,r
logical :: file_exists

ftn = LDT_getNextUnitNumber()

inquire(file=trim(HYMAP_struc(n)%urbandrainoutletfile), &
exist=file_exists)
if (.not.file_exists) then
write(LDT_logunit,*) '[ERR] HYMAP urban drainage outlet map, ',&
trim(HYMAP_struc(n)%urbandrainoutletfile),', not found.'
write(LDT_logunit,*) '[ERR] Program stopping ...'
call LDT_endrun
endif

open(ftn, file=trim(HYMAP_struc(n)%urbandrainoutletfile), &
access='direct', &
status='old', form="unformatted", convert="big_endian", recl=4)

call readLISdata(n, ftn, HYMAP_struc(n)%hymap_proj, &
HYMAP_struc(n)%hymap_gridtransform, &
HYMAP_struc(n)%hymapparms_gridDesc(:), 1, array) ! 1 = 2D layer

do r=1,LDT_rc%lnr(n)
do c=1,LDT_rc%lnc(n)
if(array(c,r,1).lt.0) then
array(c,r,1) = LDT_rc%udef
endif
enddo
enddo

call LDT_releaseUnitNumber(ftn)

end subroutine read_HYMAP_urban_drain_outlet
80 changes: 80 additions & 0 deletions ldt/params/HYMAP/read_land_grid_area.F90
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
!-----------------------BEGIN NOTICE -- DO NOT EDIT-----------------------
! NASA Goddard Space Flight Center
! Land Information System Framework (LISF)
! Version 7.5
!
! Copyright (c) 2024 United States Government as represented by the
! Administrator of the National Aeronautics and Space Administration.
! All Rights Reserved.
!-------------------------END NOTICE -- DO NOT EDIT-----------------------
!BOP
!
! !ROUTINE: read_land_grid_area
! \label{read_land_grid_area}
!
! !REVISION HISTORY:
! 25 Jul 2005: Sujay Kumar; Initial Specification
! 20 Feb 2006: Sujay Kumar; Modified to support nesting
!
! !INTERFACE:
subroutine read_land_grid_area(n, array)

! !USES:
use ESMF
use HYMAP_parmsMod
use LDT_coreMod, only : LDT_rc
use LDT_fileIOMod, only : readLISdata
use LDT_logMod, only : LDT_logunit, LDT_getNextUnitNumber, &
LDT_releaseUnitNumber, LDT_endrun

implicit none

! !ARGUMENTS:
integer, intent(in) :: n
real, intent(inout) :: array(LDT_rc%lnc(n),LDT_rc%lnr(n),1)

! !DESCRIPTION:
! This subroutine retrieves the bottom temperature climatology for the
! specified month and returns the values in the latlon projection
!
! The arguments are:
! \begin{description}
! \item[n]
! index of the nest
! \item[mo]
! time index (month or quarter)
! \item[array]
! output field with the retrieved greenness fraction
! \end{description}
!
!EOP
integer :: ftn
integer :: c,r
logical :: file_exists

ftn = LDT_getNextUnitNumber()

inquire(file=trim(HYMAP_struc(n)%landgridareafile), exist=file_exists)
if(.not.file_exists) then
write(LDT_logunit,*) '[ERR] Land grid area map, ',&
trim(HYMAP_struc(n)%landgridareafile),', not found.'
write(LDT_logunit,*) '[ERR] Program stopping ...'
call LDT_endrun
endif

open(ftn, file=trim(HYMAP_struc(n)%landgridareafile), access='direct',&
status='old', form="unformatted", convert="big_endian", recl=4)

call readLISdata(n, ftn, HYMAP_struc(n)%hymap_proj, &
HYMAP_struc(n)%hymap_gridtransform, &
HYMAP_struc(n)%hymapparms_gridDesc(:), 1, array) ! 1 = 2D layer
do r=1,LDT_rc%lnr(n)
do c=1,LDT_rc%lnc(n)
if(array(c,r,1).lt.0) then
array(c,r,1) = LDT_rc%udef
endif
enddo
enddo
call LDT_releaseUnitNumber(ftn)

end subroutine read_land_grid_area
Loading