Readme of JAXA NASA/MODIS&SeaWiFS global 5km irradiance data ----------- H. Murakami JAXA/EORC 12 Aug 2011 Way of Acknowledgement: "MODIS and SeaWiFS data are provided by NASA GSFC. The PAR and radiation data is developed by JAXA." Reference paper: - Algorithm and Validation paper: Now preparing - Original algorithm (Ocean): R. Frouin, H. Murakami, Estimating photosynthetically available radiation at the ocean sruface from ADEOS-II global imager data, J. Oceanography, 63, 493-503, 2007. - Application and short description about algorithm: N. Saigusa, K. Ichii, H. Murakami, R. Hirata, J. Asanuma, H. Den, S.-J. Han, R. Ide, S.-G. Li, T. Ohta, T.Sasai, S.-Q.Wang, G.-R. Yu, Impact of meteorological anomalies in the 2003 summer on gross primary Productivity in East Asia, Biogeosciences, Vol 7,641-655, 2010. Also, we would appreciate receiving a preprint and/or reprint of those publications utilizing the data for inclusion in the JAXA/GCOM bibliography. These publications should be sent to: The EORC GCOM Office Earth Observation Research Center (EORC) Japan Aerospace Exploration Agency (JAXA) Tsukuba space center E-2, 2-1-1, Sengen, Tsukuba, Ibaraki 305-8505, Japan Please contact us for any comments, problems or questions at e-mail address: glisci(at-mark)jaxa.jp Related links are followings: JAXA Satellite Monitoring for Environmental Studies (JAXA/EORC/JASMES) http://kuroshio.eorc.jaxa.jp/JASMES/index.html ---------------------------------------------------------------------------- File description - File names (a) monthly/***/ MYD02SSH_A20061201Avm_v601_0721_1440_par__le : monthly average of daily PAR [Ein/m^2/day] MYD02SSH_A20061201Avm_v601_0721_1440_dpar_le : monthly average of direct PAR MYD02SSH_A20061201Avm_v601_0721_1440_swr__le : monthly average of shortwave radiation [W/m^2] MYD02SSH_A20061201Avm_v601_0721_1440_tip__le : monthly average of transmittance of instantaneous PAR at noon MYD02SSH_A20061201Avm_v601_0721_1440_uva__le : monthly average of UVA [W/m^2] MYD02SSH_A20061201Avm_v601_0721_1440_uvb__le : monthly average of UVB [W/m^2] MYD02SSH_A20061201Avm_v601_0721_1440_rpar_le : monthly average of surface reflectance weighted by PAR wavelengths & solar irradiance MYD02SSH_A20061201Avm_v601_0721_1440_lst__le : monthly average of surface temperature (not validated) (b) daily/***/YYYY/ MYD02SSH_A20061231Av1_v601_0721_1440_par__8b : daily PAR [Ein/m^2/day] MYD02SSH_A20061231Av1_v601_0721_1440_dpar_8b : direct PAR MYD02SSH_A20061231Av1_v601_0721_1440_swr__8b : daily mean shortwave radiation [W/m^2] MYD02SSH_A20061231Av1_v601_0721_1440_tip__8b : transmittance of instantaneous PAR at noon MYD02SSH_A20061231Av1_v601_0721_1440_uva__8b : daily UVA [W/m^2] MYD02SSH_A20061231Av1_v601_0721_1440_uvb__8b : daily UVB [W/m^2] (All data is defined as downward irradiance just above canopy) - Naming rule of file labels: MYD02SSH_A20061201Avm_v601_7200_3601_xx YYYYMMDD pixel,line size MOD : Terra MODIS MYD : Aqua MODIS MDS : Terra & Aqua MODIS average SWF : SeaWiFS YYYYMMDD : start date Av1: daily average, Avm: monthly average, (Avh: half-month average), xx : binary type (2byte little endian (le) or 1-byte (8b)) - Data size: *_le : 7200(pixel)*2byte header + 2byte x 7200(pixel) x 3601(line) * 1 channel ** 2-byte binary is stored by the little endian (e.g., Intel linux). When you use it by big-endian machine, you have to apply byte-swap before multiplying by a slope value. *_8b : 7200(pixel)*1byte header + 1byte x 7200(pixel) x 3601(line) * 1 channel ** 1-byte binary is stored by "unsigned value" (0-255). - Data area: Global data: upper-left grid location (grid center): 90N, 0E; grid interval: 0.05 deg - Instraction of reading binary data files (a) *_le files - Read header (size= pixel size *2byte): character head*14400 read(10,rec=1) head read(head,'(2i6,2f8.2,f8.4,2e12.5,a1,a8,a1,a40)') & npixel,nline,lon_min,lat_max,reso,slope,offset,',', & para,',',outfile - Read data (e.g., fortran77) parameter(nl=7200, ml=3601) ... open file by "unformatted", "recl=nl*2(byte)" (,"bytereclen") integer*2 i2buf(nl,ml) do m=1,ml read(10,rec=1+m) (i2buf(n,m), n=1,nl) do n=1,nl par=i2buf(n,m)*slope+offset write(6,*) 'PAR[Ein/m^2/day]=',par enddo enddo - slope values par__le : daily PAR [Ein/m^2/day] = DN * 0.01 dpar_le : direct PAR = DN * 0.01 swr__le : daily mean shortwave radiation [W/m^2] = DN * 0.01 tip__le : transmittance of instantaneous PAR at noon = DN * 0.0001 uva__le : daily mean UVA [W/m^2] = DN * 0.001 uvb__le : daily mean UVB [W/m^2] = DN * 0.0001 rpar_le : PAR-range surface reflectance (TOP of canopy/solid surfaces) = DN * 0.0001 (monthly data only) - error values -1 as signed short integer (int16) 65535 as unsigned short integer (uint16) (b) *_8b files - Read header (size= pixel size *1byte): character head*7200 read(10,rec=1) head read(head,'(2i6,2f8.2,f8.4,2e12.5,a1,a8,a1,a40)') & npixel,nline,lon_min,lat_max,reso,slope,offset,',', & para,',',outfile - Read data (e.g., fortran77) parameter(nl=7200, ml=3601) ... open file by "unformatted", "recl=nl(byte)" (,"bytereclen") character i1buf(nl,ml)*1 do m=1,ml read(10,rec=1+m) (i1buf(n,m), n=1,nl) do n=1,nl par=ichar(i1buf(n,m))*slope+offset write(6,*) 'PAR[Ein/m^2/day]=',par enddo enddo - slope values par__8b : daily PAR [Ein/m^2/day] = DN * 0.280 + 0.0 dpar_8b : direct PAR [Ein/m^2/day] = DN * 0.280 0.0 swr__8b : daily mean shortwave radiation [W/m^2] = DN * 1.60 + 0.0 tip__8b : transmittance of instantaneous PAR at noon = DN * 0.004 + 0.0 uva__8b : daily mean UVA [W/m^2] = DN * 0.150 + 0.0 uvb__8b : daily mean UVB [W/m^2] = DN * 0.003 + 0.0 - error values 255 as unsigned byte (uint8) ---------------------------------------------------------