Mer

Hvordan endre tidssone for netcdf-fil


For eksempel har jeg en netcdf-fil fra WRF-modellen, og tidssonen er i UTM 00. Jeg vil endre tidssonen til UTM 08, hvordan oppnår jeg det?


UTM-8N handler om British Columbia, Canada og er for det meste i tidssone UTC-9.

Tidssonen i netcdf-filer er inneholdt i tidsvariabelens "enheter" -attributt som identifiserer opprinnelsen og intervallet til tallene som er lagret i tidsvariabelen. For CF-konvensjonene må tidsenhetsattributtet kunne tolkes av Unidata udunits2-programmet. Se http://www.cgd.ucar.edu/cms/eaton/netcdf/CF-20010629.htm#time for et eksempel som dette:

Spesifikasjonen: sekunder siden 1992-10-8 15: 15: 42.5 -6: 00 indikerer sekunder siden 8. oktober 1992 på 3 timer, 15 minutter og 42,5 sekunder på ettermiddagen i tidssonen som er seks timer vest for Koordinert universaltid (dvs. Mountain Daylight Time). Tidssone-spesifikasjonen kan også skrives uten et kolon med en eller to sifre (som indikerer timer) eller tre eller fire sifre (som indikerer timer og minutter).

Hvis jeg gjorde dette, antar du at den opprinnelige attributtet er "minutter siden 2000-01-24 12:00:00", vil jeg bruke NetCDF-operatørene til å lage en ny variabel med timeforskyvning fra tidsvariabelen:

ncap2 -s 'timeUTM08 = time-540' infile.nc outfile.nc ncatted -O -a enheter, tid, m, c, 'minutter siden 2000-01-24 12:00:00 -9: 00' outfile.nc

Dette skaper en ny tidsvariabel med tidsskiftet, "timeUTM08", og oppdaterer unita-attributtet med en ikke-UTC tidssone.

Siden dette attributtet bare identifiserer opprinnelse av tidsdataene, ville verken opprinnelsen eller selve dataene virkelig skifte rundt med sommertid.


Se videoen: Стальные Касио ДжиШоки - и всё же нет (Oktober 2021).