Skip to content

Commit

Permalink
Allocate lon and lat first, then allocate dbllon and dbllat.
Browse files Browse the repository at this point in the history
  • Loading branch information
ukmo-kitstokes committed Feb 10, 2025
1 parent 6aa587b commit a7c4891
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions model/src/ww3_ounf.F90
Original file line number Diff line number Diff line change
Expand Up @@ -2210,6 +2210,8 @@ SUBROUTINE W3EXNC ( NX, NY, IX1, IXN, IY1, IYN, NSEA, &
IF(.NOT.ALLOCATED(smccy)) ALLOCATE(smccy(SMCNOUT))
ELSE
! Regular gridded file
IF(.NOT.ALLOCATED(lon)) ALLOCATE(lon(NXO))
IF(.NOT.ALLOCATED(lat)) ALLOCATE(lat(NYO))
IF(.NOT.ALLOCATED(dbllon)) ALLOCATE(dbllon(NXO))
IF(.NOT.ALLOCATED(dbllat)) ALLOCATE(dbllat(NYO))
#endif
Expand Down Expand Up @@ -2478,18 +2480,17 @@ SUBROUTINE W3EXNC ( NX, NY, IX1, IXN, IY1, IYN, NSEA, &
IF (GTYPE.EQ.RLGTYPE .OR. GTYPE.EQ.SMCTYPE) THEN
IF(SMCGRD) THEN ! CB: shelter original code from SMC grid
#ifdef W3_SMC
IRET=NF90_PUT_VAR(NCID,VARID(1),LON(:))
CALL CHECK_ERR(IRET)
IRET=NF90_PUT_VAR(NCID,VARID(2),LAT(:))
CALL CHECK_ERR(IRET)
IF(SMCOTYPE .EQ. 1) THEN
IRET=NF90_PUT_VAR(NCID,VARID(1),LON(:))
CALL CHECK_ERR(IRET)
IRET=NF90_PUT_VAR(NCID,VARID(2),LAT(:))
CALL CHECK_ERR(IRET)

! For type 1 SCM file also put lat/lons and cell sizes:
IRET=NF90_PUT_VAR(NCID,VARID(5),SMCCX)
CALL CHECK_ERR(IRET)
IRET=NF90_PUT_VAR(NCID,VARID(6),SMCCY)
CALL CHECK_ERR(IRET)
ELSE ! KS: Regridded SMC data - use double precision
ELSE ! KS: For regridded SMC data, change from real to double precision
IRET=NF90_PUT_VAR(NCID,VARID(1),dbllon(:))
CALL CHECK_ERR(IRET)
IRET=NF90_PUT_VAR(NCID,VARID(2),dbllat(:))
Expand Down

0 comments on commit a7c4891

Please sign in to comment.