Subversion Repositories lagranto.um

Rev

Rev 3 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3 Rev 15
Line 1315... Line 1315...
1315
c     ---- Create the netCDF - skip if <crefile=0> ----------------------
1315
c     ---- Create the netCDF - skip if <crefile=0> ----------------------
1316
      if ( crefile.ne.1 ) goto 100
1316
      if ( crefile.ne.1 ) goto 100
1317
 
1317
 
1318
c     Create the file 
1318
c     Create the file 
1319
      ierr = nf90_create(trim(cdfname), NF90_CLOBBER, ncID)
1319
      ierr = nf90_create(trim(cdfname), NF90_CLOBBER, ncID)
-
 
1320
      IF( ierr /= nf90_NoErr) PRINT *,1,NF90_STRERROR(ierr)
1320
      
1321
      
1321
c     Define dimensions 
1322
c     Define dimensions 
1322
      ierr=nf90_def_dim(ncID,'longitude',nx            , LonDimID )
1323
      ierr=nf90_def_dim(ncID,'longitude',nx            , LonDimID )
-
 
1324
      IF( ierr /= nf90_NoErr) PRINT *,2,NF90_STRERROR(ierr)
1323
      ierr=nf90_def_dim(ncID,'latitude' ,ny            , LatDimID )
1325
      ierr=nf90_def_dim(ncID,'latitude' ,ny            , LatDimID )
-
 
1326
      IF( ierr /= nf90_NoErr) PRINT *,3,NF90_STRERROR(ierr)
1324
      ierr=nf90_def_dim(ncID,'time'     ,nf90_unlimited, TimeDimID)
1327
      ierr=nf90_def_dim(ncID,'time'     ,nf90_unlimited, TimeDimID)
-
 
1328
      IF( ierr /= nf90_NoErr) PRINT *,4,NF90_STRERROR(ierr)
1325
      
1329
      
1326
c     Define coordinate Variables 
1330
c     Define coordinate Variables 
1327
      ierr = nf90_def_var(ncID,'longitude',NF90_FLOAT,
1331
      ierr = nf90_def_var(ncID,'longitude',NF90_FLOAT,
1328
     >     (/ LonDimID /),varLonID)
1332
     >     (/ LonDimID /),varLonID)
-
 
1333
      IF( ierr /= nf90_NoErr) PRINT *,5,NF90_STRERROR(ierr)
1329
      ierr = nf90_put_att(ncID, varLonID, "standard_name","longitude")
1334
      ierr = nf90_put_att(ncID, varLonID, "standard_name","longitude")
-
 
1335
      IF( ierr /= nf90_NoErr) PRINT *,6,NF90_STRERROR(ierr)
1330
      ierr = nf90_put_att(ncID, varLonID, "units"      ,"degree_east")
1336
      ierr = nf90_put_att(ncID, varLonID, "units"      ,"degree_east")
-
 
1337
      IF( ierr /= nf90_NoErr) PRINT *,7,NF90_STRERROR(ierr)
1331
      
1338
      
1332
      ierr = nf90_def_var(ncID,'latitude',NF90_FLOAT,
1339
      ierr = nf90_def_var(ncID,'latitude',NF90_FLOAT,
1333
     >     (/ LatDimID /),varLatID)
1340
     >     (/ LatDimID /),varLatID)
-
 
1341
      IF( ierr /= nf90_NoErr) PRINT *,8,NF90_STRERROR(ierr)
1334
      ierr = nf90_put_att(ncID, varLatID, "standard_name", "latitude")
1342
      ierr = nf90_put_att(ncID, varLatID, "standard_name", "latitude")
-
 
1343
      IF( ierr /= nf90_NoErr) PRINT *,9,NF90_STRERROR(ierr)
1335
      ierr = nf90_put_att(ncID, varLatID, "units"    ,"degree_north")
1344
      ierr = nf90_put_att(ncID, varLatID, "units"    ,"degree_north")
-
 
1345
      IF( ierr /= nf90_NoErr) PRINT *,10,NF90_STRERROR(ierr)
1336
      
1346
      
1337
      ierr = nf90_def_var(ncID,'time',NF90_FLOAT, 
1347
      ierr = nf90_def_var(ncID,'time',NF90_FLOAT, 
1338
     >     (/ TimeDimID /), varTimeID)
1348
     >     (/ TimeDimID /), varTimeID)
-
 
1349
      IF( ierr /= nf90_NoErr) PRINT *,11,NF90_STRERROR(ierr)
1339
      ierr = nf90_put_att(ncID, varTimeID, "axis",            "T")
1350
      ierr = nf90_put_att(ncID, varTimeID, "axis",            "T")
-
 
1351
      IF( ierr /= nf90_NoErr) PRINT *,12,NF90_STRERROR(ierr)
1340
      ierr = nf90_put_att(ncID, varTimeID, "calendar", "standard")
1352
      ierr = nf90_put_att(ncID, varTimeID, "calendar", "standard")
-
 
1353
      IF( ierr /= nf90_NoErr) PRINT *,13,NF90_STRERROR(ierr)
1341
      ierr = nf90_put_att(ncID, varTimeID, "long_name",    "time")
1354
      ierr = nf90_put_att(ncID, varTimeID, "long_name",    "time")
-
 
1355
      IF( ierr /= nf90_NoErr) PRINT *,14,NF90_STRERROR(ierr)
1342
      ierr = nf90_put_att(ncID, varTimeID, "units",       "hours")
1356
      ierr = nf90_put_att(ncID, varTimeID, "units",       "hours")
-
 
1357
      IF( ierr /= nf90_NoErr) PRINT *,15,NF90_STRERROR(ierr)
1343
      
1358
      
1344
c     Write global attributes 
1359
c     Write global attributes 
1345
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'Conventions', 'CF-1.0')
1360
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'Conventions', 'CF-1.0')
-
 
1361
      IF( ierr /= nf90_NoErr) PRINT *,16,NF90_STRERROR(ierr)
1346
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'title',  
1362
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'title',  
1347
     >     'Trajectory Densities')
1363
     >     'Trajectory Densities')
-
 
1364
      IF( ierr /= nf90_NoErr) PRINT *,17,NF90_STRERROR(ierr)
1348
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'source', 
1365
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'source', 
1349
     >     'Lagranto Trajectories')
1366
     >     'Lagranto Trajectories')
-
 
1367
      IF( ierr /= nf90_NoErr) PRINT *,18,NF90_STRERROR(ierr)
1350
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'institution', 
1368
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'institution', 
1351
     >     'ETH Zurich, IACETH')
1369
     >     'ETH Zurich, IACETH')
-
 
1370
 
-
 
1371
c     Write grid description
-
 
1372
      IF( ierr /= nf90_NoErr) PRINT *,19,NF90_STRERROR(ierr)
1352
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'grid',trim(gridtype) ) 
1373
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'grid',trim(gridtype) )
-
 
1374
 
-
 
1375
      if ( gridtype.eq.'rotated' ) then
-
 
1376
        IF( ierr /= nf90_NoErr) PRINT *,20,NF90_STRERROR(ierr)
1353
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'clon',clon )
1377
        ierr = nf90_put_att(ncID, NF90_GLOBAL, 'clon',clon )
-
 
1378
        IF( ierr /= nf90_NoErr) PRINT *,21,NF90_STRERROR(ierr)
1354
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'clat',clat )
1379
        ierr = nf90_put_att(ncID, NF90_GLOBAL, 'clat',clat )
-
 
1380
        IF( ierr /= nf90_NoErr) PRINT *,22,NF90_STRERROR(ierr)
1355
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'nlonlat',nlonlat )
1381
        ierr = nf90_put_att(ncID, NF90_GLOBAL, 'nlonlat',nlonlat )
-
 
1382
        IF( ierr /= nf90_NoErr) PRINT *,23,NF90_STRERROR(ierr)
1356
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'dlonlat',dlonlat )
1383
        ierr = nf90_put_att(ncID, NF90_GLOBAL, 'dlonlat',dlonlat )
-
 
1384
        IF( ierr /= nf90_NoErr) PRINT *,24,NF90_STRERROR(ierr)
-
 
1385
        ierr = nf90_put_att(ncID, NF90_GLOBAL, 'xmin',xmin )
-
 
1386
        IF( ierr /= nf90_NoErr) PRINT *,25,NF90_STRERROR(ierr)
-
 
1387
        ierr = nf90_put_att(ncID, NF90_GLOBAL, 'ymin',ymin )
-
 
1388
        IF( ierr /= nf90_NoErr) PRINT *,26,NF90_STRERROR(ierr)
-
 
1389
 
-
 
1390
      elseif ( gridtype.eq.'latlon' ) then
1357
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'nx',nx )
1391
        ierr = nf90_put_att(ncID, NF90_GLOBAL, 'nx',nx )
-
 
1392
        IF( ierr /= nf90_NoErr) PRINT *,27,NF90_STRERROR(ierr)
1358
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'ny',ny )
1393
        ierr = nf90_put_att(ncID, NF90_GLOBAL, 'ny',ny )
-
 
1394
        IF( ierr /= nf90_NoErr) PRINT *,28,NF90_STRERROR(ierr)
1359
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'dx',dx )
1395
        ierr = nf90_put_att(ncID, NF90_GLOBAL, 'dx',dx )
-
 
1396
        IF( ierr /= nf90_NoErr) PRINT *,29,NF90_STRERROR(ierr)
1360
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'dy',dy )
1397
        ierr = nf90_put_att(ncID, NF90_GLOBAL, 'dy',dy )
-
 
1398
        IF( ierr /= nf90_NoErr) PRINT *,30,NF90_STRERROR(ierr)
1361
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'xmin',xmin )
1399
        ierr = nf90_put_att(ncID, NF90_GLOBAL, 'xmin',xmin )
-
 
1400
        IF( ierr /= nf90_NoErr) PRINT *,31,NF90_STRERROR(ierr)
1362
      ierr = nf90_put_att(ncID, NF90_GLOBAL, 'ymin',ymin )
1401
        ierr = nf90_put_att(ncID, NF90_GLOBAL, 'ymin',ymin )
-
 
1402
        IF( ierr /= nf90_NoErr) PRINT *,32,NF90_STRERROR(ierr)
-
 
1403
      endif
1363
 
1404
 
1364
c     Write coordinate data 
1405
c     Write coordinate data 
1365
      do i = 1,nx+1
1406
      do i = 1,nx
1366
         longitude(i) = xmin + real(i-1) * dx
1407
         longitude(i) = xmin + real(i-1) * dx
1367
      enddo
1408
      enddo
1368
      do i = 1,ny+1
1409
      do i = 1,ny
1369
         latitude(i)  = ymin + real(i-1) * dy
1410
         latitude(i)  = ymin + real(i-1) * dy
1370
      enddo
1411
      enddo
1371
      
1412
      
1372
c     Check whether the definition was successful
1413
c     Check whether the definition was successful
1373
      ierr = nf90_enddef(ncID)
1414
      ierr = nf90_enddef(ncID)
1374
      if (ierr.gt.0) then
-
 
1375
         print*, 'An error occurred while attempting to ', 
1415
      IF( ierr /= nf90_NoErr) PRINT *,NF90_STRERROR(ierr)
1376
     >        'finish definition mode.'
-
 
1377
         stop
-
 
1378
      endif
-
 
1379
      
1416
      
1380
c     Write coordinate data  
1417
c     Write coordinate data  
1381
      ierr = nf90_put_var(ncID,varLonID ,longitude)
1418
      ierr = nf90_put_var(ncID,varLonID ,longitude)
-
 
1419
      IF( ierr /= nf90_NoErr) PRINT *,33,NF90_STRERROR(ierr)
1382
      ierr = nf90_put_var(ncID,varLatID ,latitude )
1420
      ierr = nf90_put_var(ncID,varLatID ,latitude )
-
 
1421
      IF( ierr /= nf90_NoErr) PRINT *,34,NF90_STRERROR(ierr)
1383
      
1422
      
1384
c     Close netCDF file 
1423
c     Close netCDF file 
1385
      ierr = nf90_close(ncID)
1424
      ierr = nf90_close(ncID)
-
 
1425
      IF( ierr /= nf90_NoErr) PRINT *,35,NF90_STRERROR(ierr)
1386
      
1426
      
1387
 100  continue
1427
 100  continue
1388
 
1428
 
1389
c     ---- Define a new variable - skip if <crevar=0> -----------------------
1429
c     ---- Define a new variable - skip if <crevar=0> -----------------------
1390
 
1430
 
1391
      if ( crevar.ne.1 ) goto 110
1431
      if ( crevar.ne.1 ) goto 110
1392
      
1432
      
1393
c     Open the file for read(write access
1433
c     Open the file for read(write access
1394
      ierr = nf90_open  (trim(cdfname), NF90_WRITE  , ncID)
1434
      ierr = nf90_open  (trim(cdfname), NF90_WRITE  , ncID)
-
 
1435
      IF( ierr /= nf90_NoErr) PRINT *,36,NF90_STRERROR(ierr)
1395
 
1436
 
1396
c     Get the IDs for dimensions
1437
c     Get the IDs for dimensions
1397
      ierr = nf90_inq_dimid(ncID,'longitude', LonDimID )
1438
      ierr = nf90_inq_dimid(ncID,'longitude', LonDimID )
-
 
1439
      IF( ierr /= nf90_NoErr) PRINT *,37,NF90_STRERROR(ierr)
1398
      ierr = nf90_inq_dimid(ncID,'latitude' , LatDimID )
1440
      ierr = nf90_inq_dimid(ncID,'latitude' , LatDimID )
-
 
1441
      IF( ierr /= nf90_NoErr) PRINT *,38,NF90_STRERROR(ierr)
1399
      ierr = nf90_inq_dimid(ncID,'time'     , TimeDimID)
1442
      ierr = nf90_inq_dimid(ncID,'time'     , TimeDimID)
-
 
1443
      IF( ierr /= nf90_NoErr) PRINT *,39,NF90_STRERROR(ierr)
1400
 
1444
 
1401
c     Enter define mode
1445
c     Enter define mode
1402
      ierr = nf90_redef(ncID)
1446
      ierr = nf90_redef(ncID)
-
 
1447
      IF( ierr /= nf90_NoErr) PRINT *,40,NF90_STRERROR(ierr)
1403
 
1448
 
1404
c     Write definition and add attributes
1449
c     Write definition and add attributes
1405
      ierr = nf90_def_var(ncID,varname,NF90_FLOAT,
1450
      ierr = nf90_def_var(ncID,varname,NF90_FLOAT,
1406
     >                   (/ LonDimID, LatDimID, varTimeID /),varID)
1451
     >                   (/ LonDimID, LatDimID, TimeDimID /),varID)
-
 
1452
      IF( ierr /= nf90_NoErr) PRINT *,41,NF90_STRERROR(ierr)
-
 
1453
 
1407
      ierr = nf90_put_att(ncID, varID, "long_name" , longname )
1454
      ierr = nf90_put_att(ncID, varID, "long_name" , longname )
-
 
1455
      IF( ierr /= nf90_NoErr) PRINT *,42,NF90_STRERROR(ierr)
1408
      ierr = nf90_put_att(ncID, varID, "units"     , unit     ) 
1456
      ierr = nf90_put_att(ncID, varID, "units"     , unit     ) 
-
 
1457
      IF( ierr /= nf90_NoErr) PRINT *,43,NF90_STRERROR(ierr)
1409
      ierr = nf90_put_att(ncID, varID, '_FillValue', -999.99  ) 
1458
      ierr = nf90_put_att(ncID, varID, '_FillValue', -999.99  ) 
-
 
1459
      IF( ierr /= nf90_NoErr) PRINT *,44,NF90_STRERROR(ierr)
1410
 
1460
 
1411
c     Check whether definition was successful
1461
c     Check whether definition was successful
1412
      ierr = nf90_enddef(ncID)
1462
      ierr = nf90_enddef(ncID)
1413
      if (ierr.gt.0) then
-
 
1414
         print*, 'An error occurred while attempting to ', 
1463
      IF( ierr /= nf90_NoErr) PRINT *,45,NF90_STRERROR(ierr)
1415
     >           'finish definition mode.'
-
 
1416
         stop
-
 
1417
      endif
-
 
1418
 
1464
 
1419
c     Close netCDF file 
1465
c     Close netCDF file 
1420
      ierr = nf90_close(ncID)
1466
      ierr = nf90_close(ncID)
-
 
1467
      IF( ierr /= nf90_NoErr) PRINT *,46,NF90_STRERROR(ierr)
1421
 
1468
 
1422
 110  continue
1469
 110  continue
1423
 
1470
 
1424
c     ---- Create a new time (unlimited dimension) - skip if <cretime=0> ------
1471
c     ---- Create a new time (unlimited dimension) - skip if <cretime=0> ------
1425
 
1472
 
1426
      if ( cretime.ne.1 ) goto 120
1473
      if ( cretime.ne.1 ) goto 120
1427
 
1474
 
1428
c     Open the file for read/write access
1475
c     Open the file for read/write access
1429
      ierr = nf90_open  (trim(cdfname), NF90_WRITE, ncID)
1476
      ierr = nf90_open  (trim(cdfname), NF90_WRITE, ncID)
-
 
1477
      IF( ierr /= nf90_NoErr) PRINT *,47,NF90_STRERROR(ierr)
1430
      
1478
 
1431
c     Get the list of times on the netCDF file
1479
c     Get the list of times on the netCDF file
1432
      ierr = nf90_inq_dimid(ncID,'time', TimeDimID)
1480
      ierr = nf90_inq_dimid(ncID,'time', TimeDimID)
1433
      if ( ierr.ne.0 ) then
-
 
1434
         print*,'Time dimension is not defined on ',trim(cdfname),
1481
      IF( ierr /= nf90_NoErr) PRINT *,48,NF90_STRERROR(ierr)
1435
     >          ' .... Stop'
-
 
1436
         stop
-
 
1437
      endif
1482
 
1438
      ierr = nf90_inquire_dimension(ncID, TimeDimID, len = ntimes)
1483
      ierr = nf90_inquire_dimension(ncID, TimeDimID, len = ntimes)
-
 
1484
      IF( ierr /= nf90_NoErr) PRINT *,49,NF90_STRERROR(ierr)
-
 
1485
 
1439
      ierr = nf90_inq_varid(ncID,'time', varTimeID)
1486
      ierr = nf90_inq_varid(ncID,'time', varTimeID)
1440
      if ( ierr.ne.0 ) then
-
 
1441
         print*,'Variable time is not defined on ',trim(cdfname),
1487
      IF( ierr /= nf90_NoErr) PRINT *,50,NF90_STRERROR(ierr)
1442
     >          ' ... Stop'
-
 
1443
         stop
-
 
1444
      endif
1488
 
1445
      ierr = nf90_get_var(ncID,varTimeID,timelist(1:ntimes))
1489
      ierr = nf90_get_var(ncID,varTimeID,timelist(1:ntimes))
-
 
1490
      IF( ierr /= nf90_NoErr) PRINT *,51,NF90_STRERROR(ierr)
1446
 
1491
 
1447
c     Decide whether a new time must be written
1492
c     Decide whether a new time must be written
1448
      ind = 0
1493
      ind = 0
1449
      do i=1,ntimes
1494
      do i=1,ntimes
1450
         if ( time.eq.timelist(i) ) ind = i
1495
         if ( time.eq.timelist(i) ) ind = i
Line 1453... Line 1498...
1453
c     Extend the time list if required 
1498
c     Extend the time list if required 
1454
      if ( ind.eq.0 ) then
1499
      if ( ind.eq.0 ) then
1455
         ntimes           = ntimes + 1
1500
         ntimes           = ntimes + 1
1456
         timelist(ntimes) = time
1501
         timelist(ntimes) = time
1457
         ierr = nf90_put_var(ncID,varTimeID,timelist(1:ntimes))
1502
         ierr = nf90_put_var(ncID,varTimeID,timelist(1:ntimes))
-
 
1503
         IF( ierr /= nf90_NoErr) PRINT *,52,NF90_STRERROR(ierr)
1458
      endif
1504
      endif
1459
 
1505
 
1460
c     Close netCDF file 
1506
c     Close netCDF file 
1461
      ierr = nf90_close(ncID)
1507
      ierr = nf90_close(ncID)
-
 
1508
      IF( ierr /= nf90_NoErr) PRINT *,53,NF90_STRERROR(ierr)
1462
 
1509
 
1463
 120  continue
1510
 120  continue
1464
 
1511
 
1465
c     ---- Write data --------------------------------------------------
1512
c     ---- Write data --------------------------------------------------
1466
 
1513
 
1467
c     Open the file for read/write access
1514
c     Open the file for read/write access
1468
      ierr = nf90_open  (trim(cdfname), NF90_WRITE , ncID)
1515
      ierr = nf90_open  (trim(cdfname), NF90_WRITE , ncID)
-
 
1516
      IF( ierr /= nf90_NoErr) PRINT *,54,NF90_STRERROR(ierr)
1469
 
1517
 
1470
c     Get the varID
1518
c     Get the varID
1471
      ierr = nf90_inq_varid(ncID,varname, varID )
1519
      ierr = nf90_inq_varid(ncID,varname, varID )
1472
      if (ierr.ne.0) then
-
 
1473
         print*,'Variable ',trim(varname),' is not defined on ',
1520
      IF( ierr /= nf90_NoErr) PRINT *,55,NF90_STRERROR(ierr)
1474
     >          trim(cdfname)
-
 
1475
         stop
-
 
1476
      endif
-
 
1477
 
1521
 
1478
c     Get the time index
1522
c     Get the time index
1479
      ierr = nf90_inq_dimid(ncID,'time', TimeDimID)
1523
      ierr = nf90_inq_dimid(ncID,'time', TimeDimID)
1480
      if ( ierr.ne.0 ) then
-
 
1481
         print*,'Time dimension is not defined on ',trim(cdfname),
1524
      IF( ierr /= nf90_NoErr) PRINT *,56,NF90_STRERROR(ierr)
1482
     >          ' .... Stop'
-
 
1483
         stop
-
 
1484
      endif
1525
 
1485
      ierr = nf90_inquire_dimension(ncID, TimeDimID, len = ntimes)
1526
      ierr = nf90_inquire_dimension(ncID, TimeDimID, len = ntimes)
-
 
1527
      IF( ierr /= nf90_NoErr) PRINT *,57,NF90_STRERROR(ierr)
-
 
1528
 
1486
      ierr = nf90_inq_varid(ncID,'time', varTimeID)
1529
      ierr = nf90_inq_varid(ncID,'time', varTimeID)
1487
      if ( ierr.ne.0 ) then
-
 
1488
         print*,'Variable time is not defined on ',trim(cdfname),
1530
      IF( ierr /= nf90_NoErr) PRINT *,58,NF90_STRERROR(ierr)
1489
     >          ' ... Stop'
-
 
1490
         stop
-
 
1491
      endif
1531
 
1492
      ierr = nf90_get_var(ncID,varTimeID,timelist(1:ntimes))
1532
      ierr = nf90_get_var(ncID,varTimeID,timelist(1:ntimes))
-
 
1533
      IF( ierr /= nf90_NoErr) PRINT *,59,NF90_STRERROR(ierr)
1493
      ind = 0
1534
      ind = 0
1494
      do i=1,ntimes
1535
      do i=1,ntimes
1495
         if ( time.eq.timelist(i) ) ind = i
1536
         if ( time.eq.timelist(i) ) ind = i
1496
      enddo
1537
      enddo
1497
      if (ind.eq.0) then
1538
      if (ind.eq.0) then
Line 1502... Line 1543...
1502
 
1543
 
1503
c     Write data block      
1544
c     Write data block      
1504
      ierr = nf90_put_var(ncID,varID,arr,
1545
      ierr = nf90_put_var(ncID,varID,arr,
1505
     >                    start = (/ 1, 1, ind /), 
1546
     >                    start = (/ 1, 1, ind /), 
1506
     >                    count = (/ nx, ny, 1 /) )
1547
     >                    count = (/ nx, ny, 1 /) )
-
 
1548
      IF( ierr /= nf90_NoErr) PRINT *,60,NF90_STRERROR(ierr)
1507
 
1549
 
1508
c     Check whether writing was successful 
1550
c     Check whether writing was successful 
1509
      ierr = nf90_close(ncID)
1551
      ierr = nf90_close(ncID)
1510
      if (ierr.ne.0) then
-
 
1511
         write(*,*) trim(nf90_strerror(ierr))
1552
      IF( ierr /= nf90_NoErr) PRINT *,61,NF90_STRERROR(ierr)
1512
         write(*,*) 'An error occurred while attempting to ', 
-
 
1513
     >              'close the netcdf file.'
-
 
1514
         write(*,*) 'in clscdf_CF'
-
 
1515
      endif
-
 
1516
 
1553
 
1517
      end
1554
      end
1518
 
1555
 
1519
 
1556
 
1520
c     ********************************************************************************
1557
c     ********************************************************************************