@@ -2303,15 +2303,19 @@ SUBROUTINE W3EXNC ( NX, NY, IX1, IXN, IY1, IYN, NSEA, &
2303
2303
! LON(1) = X0D
2304
2304
! LAT(1) = Y0D
2305
2305
DO i= 1 ,NXO
2306
- lon(i)= DBLE (X0D+ SXD* DBLE (i-1 ))
2306
+ lon(i)= REAL (X0D+ SXD* DBLE (i-1 ))
2307
+ ! KS: Regridded SMC data - use double precision
2308
+ dbllon(i)= DBLE (X0D+ SXD* DBLE (i-1 ))
2307
2309
#endif
2308
2310
#ifdef W3_RTD
2309
2311
LON2DEQ(i,:) = lon(i)
2310
2312
#endif
2311
2313
#ifdef W3_SMC
2312
2314
END DO
2313
2315
DO i= 1 ,NYO
2314
- lat(i)= DBLE (Y0D+ SYD* DBLE (i-1 ))
2316
+ lat(i)= REAL (Y0D+ SYD* DBLE (i-1 ))
2317
+ ! KS: Regridded SMC data - use double precision
2318
+ dbllat(i)= DBLE (Y0D+ SYD* DBLE (i-1 ))
2315
2319
#endif
2316
2320
#ifdef W3_RTD
2317
2321
LAT2DEQ(:,i) = lat(i)
@@ -2350,10 +2354,10 @@ SUBROUTINE W3EXNC ( NX, NY, IX1, IXN, IY1, IYN, NSEA, &
2350
2354
! LON(1) = X0D
2351
2355
! LAT(1) = Y0D
2352
2356
DO I= 1 ,NX
2353
- LON(I)= DBLE (X0D+ SXD* DBLE (I-1 ))
2357
+ LON(I)= REAL (X0D+ SXD* DBLE (I-1 ))
2354
2358
END DO
2355
2359
DO I= 1 ,NY
2356
- LAT(I)= DBLE (Y0D+ SYD* DBLE (I-1 ))
2360
+ LAT(I)= REAL (Y0D+ SYD* DBLE (I-1 ))
2357
2361
END DO
2358
2362
#ifdef W3_RTD
2359
2363
IF ( RTDL ) THEN
@@ -2475,16 +2479,22 @@ SUBROUTINE W3EXNC ( NX, NY, IX1, IXN, IY1, IYN, NSEA, &
2475
2479
IF (GTYPE.EQ. RLGTYPE .OR. GTYPE.EQ. SMCTYPE) THEN
2476
2480
IF (SMCGRD) THEN ! CB: shelter original code from SMC grid
2477
2481
#ifdef W3_SMC
2478
- IRET= NF90_PUT_VAR(NCID,VARID(1 ),LON(:))
2479
- CALL CHECK_ERR(IRET)
2480
- IRET= NF90_PUT_VAR(NCID,VARID(2 ),LAT(:))
2481
- CALL CHECK_ERR(IRET)
2482
2482
IF (SMCOTYPE .EQ. 1 ) THEN
2483
+ IRET= NF90_PUT_VAR(NCID,VARID(1 ),LON(:))
2484
+ CALL CHECK_ERR(IRET)
2485
+ IRET= NF90_PUT_VAR(NCID,VARID(2 ),LAT(:))
2486
+ CALL CHECK_ERR(IRET)
2487
+
2483
2488
! For type 1 SCM file also put lat/lons and cell sizes:
2484
2489
IRET= NF90_PUT_VAR(NCID,VARID(5 ),SMCCX)
2485
2490
CALL CHECK_ERR(IRET)
2486
2491
IRET= NF90_PUT_VAR(NCID,VARID(6 ),SMCCY)
2487
2492
CALL CHECK_ERR(IRET)
2493
+ ELSE ! KS: Regridded SMC data - use double precision
2494
+ IRET= NF90_PUT_VAR(NCID,VARID(1 ),dbllon(:))
2495
+ CALL CHECK_ERR(IRET)
2496
+ IRET= NF90_PUT_VAR(NCID,VARID(2 ),dbllat(:))
2497
+ CALL CHECK_ERR(IRET)
2488
2498
ENDIF
2489
2499
#endif
2490
2500
ELSE ! SMCGRD
0 commit comments