@@ -1003,7 +1003,6 @@ SUBROUTINE W3EXNC ( NX, NY, IX1, IXN, IY1, IYN, NSEA, &
1003
1003
#endif
1004
1004
!
1005
1005
REAL ,DIMENSION (:), ALLOCATABLE :: LON, LAT, FREQ
1006
- DOUBLE PRECISION ,DIMENSION (:), ALLOCATABLE :: DBLLON, DBLLAT
1007
1006
REAL ,DIMENSION (:,:), ALLOCATABLE :: LON2D, LAT2D, ANGLD2D
1008
1007
#ifdef W3_RTD
1009
1008
REAL ,DIMENSION (:,:), ALLOCATABLE :: LON2DEQ, LAT2DEQ
@@ -2212,8 +2211,6 @@ SUBROUTINE W3EXNC ( NX, NY, IX1, IXN, IY1, IYN, NSEA, &
2212
2211
! Regular gridded file
2213
2212
IF (.NOT. ALLOCATED (lon)) ALLOCATE (lon(NXO))
2214
2213
IF (.NOT. ALLOCATED (lat)) ALLOCATE (lat(NYO))
2215
- IF (.NOT. ALLOCATED (dbllon)) ALLOCATE (dbllon(NXO))
2216
- IF (.NOT. ALLOCATED (dbllat)) ALLOCATE (dbllat(NYO))
2217
2214
#endif
2218
2215
#ifdef W3_RTD
2219
2216
! Intermediate EQUatorial lat/lon arrays for de-rotation
@@ -2296,17 +2293,13 @@ SUBROUTINE W3EXNC ( NX, NY, IX1, IXN, IY1, IYN, NSEA, &
2296
2293
#ifdef W3_SMC
2297
2294
ELSE
2298
2295
! CB: Regridded SMC data
2299
- SXD= DBLE (0.000001d0 * DNINT(1d6 * (DBLE (DXO)) ))
2300
- SYD= DBLE (0.000001d0 * DNINT(1d6 * (DBLE (DYO)) ))
2301
- X0D= DBLE (0.000001d0 * DNINT(1d6 * (DBLE (SXO)) ))
2302
- Y0D= DBLE (0.000001d0 * DNINT(1d6 * (DBLE (SYO)) ))
2296
+ SXD= DBLE (0.00000001d0 * DNINT(1d8 * (DBLE (DXO)) ))
2297
+ SYD= DBLE (0.00000001d0 * DNINT(1d8 * (DBLE (DYO)) ))
2298
+ X0D= DBLE (0.00000001d0 * DNINT(1d8 * (DBLE (SXO)) ))
2299
+ Y0D= DBLE (0.00000001d0 * DNINT(1d8 * (DBLE (SYO)) ))
2303
2300
2304
- ! LON(1) = X0D
2305
- ! LAT(1) = Y0D
2306
2301
DO i= 1 ,NXO
2307
2302
lon(i)= REAL (X0D+ SXD* DBLE (i-1 ))
2308
- ! KS: Regridded SMC data - use double precision
2309
- dbllon(i)= DBLE (X0D+ SXD* DBLE (i-1 ))
2310
2303
#endif
2311
2304
#ifdef W3_RTD
2312
2305
LON2DEQ(i,:) = lon(i)
@@ -2315,8 +2308,6 @@ SUBROUTINE W3EXNC ( NX, NY, IX1, IXN, IY1, IYN, NSEA, &
2315
2308
END DO
2316
2309
DO i= 1 ,NYO
2317
2310
lat(i)= REAL (Y0D+ SYD* DBLE (i-1 ))
2318
- ! KS: Regridded SMC data - use double precision
2319
- dbllat(i)= DBLE (Y0D+ SYD* DBLE (i-1 ))
2320
2311
#endif
2321
2312
#ifdef W3_RTD
2322
2313
LAT2DEQ(:,i) = lat(i)
@@ -2347,13 +2338,11 @@ SUBROUTINE W3EXNC ( NX, NY, IX1, IXN, IY1, IYN, NSEA, &
2347
2338
ENDIF ! SMCOTYPE
2348
2339
#endif
2349
2340
ELSE ! SMCGRD
2350
- SXD= DBLE (0.000001d0 * DNINT(1d6 * (DBLE (SX)) ))
2351
- SYD= DBLE (0.000001d0 * DNINT(1d6 * (DBLE (SY)) ))
2352
- X0D= DBLE (0.000001d0 * DNINT(1d6 * (DBLE (X0)) ))
2353
- Y0D= DBLE (0.000001d0 * DNINT(1d6 * (DBLE (Y0)) ))
2341
+ SXD= DBLE (0.00000001d0 * DNINT(1d8 * (DBLE (SX)) ))
2342
+ SYD= DBLE (0.00000001d0 * DNINT(1d8 * (DBLE (SY)) ))
2343
+ X0D= DBLE (0.00000001d0 * DNINT(1d8 * (DBLE (X0)) ))
2344
+ Y0D= DBLE (0.00000001d0 * DNINT(1d8 * (DBLE (Y0)) ))
2354
2345
2355
- ! LON(1) = X0D
2356
- ! LAT(1) = Y0D
2357
2346
DO I= 1 ,NX
2358
2347
LON(I)= REAL (X0D+ SXD* DBLE (I-1 ))
2359
2348
END DO
@@ -2490,11 +2479,6 @@ SUBROUTINE W3EXNC ( NX, NY, IX1, IXN, IY1, IYN, NSEA, &
2490
2479
CALL CHECK_ERR(IRET)
2491
2480
IRET= NF90_PUT_VAR(NCID,VARID(6 ),SMCCY)
2492
2481
CALL CHECK_ERR(IRET)
2493
- ELSE ! KS: For regridded SMC data, change from real to 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)
2498
2482
ENDIF
2499
2483
#endif
2500
2484
ELSE ! SMCGRD
@@ -3406,9 +3390,9 @@ SUBROUTINE W3CRNC (NCFILE, NCID, DIMID, DIMLN, VARID, &
3406
3390
#ifdef W3_SMC
3407
3391
IF (SMCOTYPE .EQ. 1 ) THEN
3408
3392
! Flat SMC grid - use seapoint dimension:
3409
- IRET = NF90_DEF_VAR(NCID, ' longitude' , NF90_FLOAT , DIMID(2 ), VARID(1 ))
3393
+ IRET = NF90_DEF_VAR(NCID, ' longitude' , NF90_DOUBLE , DIMID(2 ), VARID(1 ))
3410
3394
CALL CHECK_ERR(IRET)
3411
- IRET = NF90_DEF_VAR(NCID, ' latitude' , NF90_FLOAT , DIMID(2 ), VARID(2 ))
3395
+ IRET = NF90_DEF_VAR(NCID, ' latitude' , NF90_DOUBLE , DIMID(2 ), VARID(2 ))
3412
3396
CALL CHECK_ERR(IRET)
3413
3397
3414
3398
! Latitude and longitude are auxililary variables in type 1 sea point
0 commit comments