JGCRI / gcamdata

The GCAM data system
https://jgcri.github.io/gcamdata/
Other
42 stars 26 forks source link

LB120.LC_GIS_R_LTgis_Yh_GLU #211

Closed bpbond closed 7 years ago

bpbond commented 7 years ago

@pkyle - do you know source of SAGE_LT.csv data?

Also, the source field in LDS_land_types.csv says

Source: land type area and pot veg carbon calc in: lds,,,

Can you clarify? Thanks!

pkyle commented 7 years ago

Here are the data sources for the LT_SAGE column of the SAGE_LT.csv table. Note that there are 15 SAGE land cover classes (I had written 14 in the existing metadata). SAGE: Ramankutty, N., and J. Foley. 1999. Estimating historical changes in global land cover: Croplands from 1700 to 1992, Global Biogeochemical Cycles 13, 997-1027. HYDE: Klein Goldewijk, K., A. Beusen, G. van Drecht, M. de Vos The HYDE 3.1 spatially explicit database of human-induced global land-use change over the past 12,000 years, Global Ecology and Biogeography 20: 73-86.

pkyle commented 7 years ago

As for LDS_land_types.csv, this file is generated by Alan's Land Data System. If we need a source, probably just use the paper: Di Vittorio, A. P. Kyle, W.D. Collins. 2016. What are the effects of Agro-Ecological Zones and land use region boundaries on land resource projection using the Global Change Assessment Model? Environmental Modelling & Software 85:246-265.

bpbond commented 7 years ago

Thanks!

bpbond commented 7 years ago

Lines 61-72 in this file:

#Aggregate into GCAM regions and land types. This table is incomplete (missing non-existent combinations), indicated by LCi
printlog( "Part 1: Land cover by GCAM land category in all model history/base years" )
printlog( "Collapsing land cover into GCAM regions and aggregate land types" )
L120.LCi_bm2_R_LT_year_GLU <- aggregate( L100.Land_type_area_ha[ "Area_bm2" ], by=as.list( L100.Land_type_area_ha[ R_LT_Y_GLU ] ), sum )

#Cast by year and interpolate to include all desired years
L120.LCi_bm2_R_LT_year_GLU$Xyear <- paste( "X", L120.LCi_bm2_R_LT_year_GLU$year, sep = "" )
L120.LCi_bm2_R_LT_year_GLU.cast <- dcast( L120.LCi_bm2_R_LT_year_GLU, GCAM_region_ID + Land_Type + GLU ~ Xyear, value.var = "Area_bm2" )

#Missing values should be set to 0 before interpolation, so that in-between years are interpolated correctly
L120.LCi_bm2_R_LT_year_GLU.cast[ is.na( L120.LCi_bm2_R_LT_year_GLU.cast ) ] <- 0
L120.LC_bm2_R_LT_Yh_GLU <- gcam_interp( L120.LCi_bm2_R_LT_year_GLU.cast, land_cover_years )

Question re the last step - is it correct to set missing values to zero here? Won't this bias the interpolation? I.e., instead of 1900=1, 1910=NA, 1920=2, we're going to have 1900=1, 1910=0, 1920=2, which will produce a very different result.

@pkyle @kvcalvin ?

kvcalvin commented 7 years ago

No clue. That one is for @pkyle

pkyle commented 7 years ago

The reason for this step is that (I think largely in order to reduce the file sizes) Alan isn't writing out all possible combinations of country, GLU, year (of which there are 30), and land use category (of which there are also about 30). If something isn't written out by the LDS, that is because it is a zero. This step here is to basically back-fill the zeroes that we wanted; i.e., combinations of iso, GLU, and land use type that have non-zero values in some years but not others.

bpbond commented 7 years ago

Ah. OK, thanks. That makes sense.