Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
aa12ea4
Adding statewide monitoring workflow under data.remote inst/ccmmf
sarahkanee Mar 31, 2026
f0fd483
Merge branch 'develop' into feature/ccmmf-statewide-monitoring-inst
mdietze Apr 17, 2026
ee61620
Merge branch 'PecanProject:develop' into feature/ccmmf-statewide-moni…
sarahkanee Apr 24, 2026
c3be9ef
Add LandIQ gap-fill workflow under data.remote inst/ccmmf
sarahkanee Jun 12, 2026
a35b027
Sync CCMMF monitoring stack into inst/ccmmf for portable runs
sarahkanee Jul 22, 2026
46e13d9
Document portable LandIQ year-add ops and two-repo user flow.
sarahkanee Jul 22, 2026
aa6468e
Document legend QC recipe and writable SCC LandIQ product paths.
sarahkanee Jul 22, 2026
dc07510
Remove SCC-only HLS ancillary transfer scripts from inst/ccmmf.
sarahkanee Jul 22, 2026
4fe952b
Clarify documentation README as user training path.
sarahkanee Jul 22, 2026
98a032e
Rewrite docs around the 2024 + 2023 user year-pair walkthrough.
sarahkanee Jul 22, 2026
d616245
Drop documentation/README; make pipeline.md the doc spine.
sarahkanee Jul 23, 2026
ab611f7
Restructure inst/ccmmf for training: fold extracts, drop attic, refre…
sarahkanee Jul 24, 2026
a6cfee1
Update metadata.md
sarahkanee Jul 24, 2026
4d44a4e
Update environment documentation
sarahkanee Jul 24, 2026
d6743d6
Drop troubleshooting sections from ccmmf READMEs and trim root doc bl…
sarahkanee Jul 24, 2026
8ff6702
title
sarahkanee Jul 24, 2026
0726eab
title
sarahkanee Jul 24, 2026
3e516da
Update README.md
sarahkanee Jul 24, 2026
dd49cf7
Update README
sarahkanee Jul 24, 2026
8ea66fd
Give inst/ccmmf README a formal monitoring-pipeline introduction.
sarahkanee Jul 24, 2026
a401599
Point CCMMF README at pipeline.md instead of a docs index.
sarahkanee Jul 24, 2026
8204bc5
Refer to management inputs as management events in intro docs.
sarahkanee Jul 24, 2026
687f389
Call pipeline folders components, not packages.
sarahkanee Jul 24, 2026
7f456e5
Update README.md
sarahkanee Jul 24, 2026
02dc5ea
Update README.md
sarahkanee Jul 24, 2026
d6cc44a
Update README.md
sarahkanee Jul 24, 2026
6952bee
Update README.md
sarahkanee Jul 24, 2026
da412a0
Remove LandIQ crop code lookup table reference
sarahkanee Jul 24, 2026
d09f7d2
Update 01-landiq.md
sarahkanee Jul 24, 2026
16e9a88
Update 01-landiq.md
sarahkanee Jul 24, 2026
6c1bbc3
Update documentation for gap-fill process
sarahkanee Jul 24, 2026
6d4669b
Remove cdl_fractions_metadata.csv reference
sarahkanee Jul 24, 2026
62d1a6b
Update 02-phenology.md
sarahkanee Jul 24, 2026
abfdae1
Clarify algorithm description in tillage documentation
sarahkanee Jul 24, 2026
e962b82
Update documentation for tillage fertilizer
sarahkanee Jul 24, 2026
2be6e98
Change session lead reference to Akash
sarahkanee Jul 24, 2026
a9b7967
Update CCMMF title in README.md
sarahkanee Jul 24, 2026
f45afc0
Rename Session 0 to setup
sarahkanee Jul 29, 2026
d09fc22
Update links for renamed setup session
sarahkanee Jul 29, 2026
3db3562
Restructure CCMMF training sessions into HLS vs fert/irrigation.
sarahkanee Aug 6, 2026
e891e55
Update trait lookups and event docs for CSV and destructive clearing.
sarahkanee Aug 6, 2026
14d180a
Point component READMEs at the Session 0-3 training map.
sarahkanee Aug 6, 2026
2cd565e
Elevate CCMMF docs to MAGIC/CARB Management Tracking framing.
sarahkanee Aug 6, 2026
adad6c7
Fix CCMMF Phase 0 doc/code mismatches for inventory honesty.
sarahkanee Aug 6, 2026
cf505f2
Port operational CCMMF builders from management into inst/ccmmf.
sarahkanee Aug 6, 2026
057dccc
Document MSLSP greenness defs, seasons, and COVER for inventory.
sarahkanee Aug 6, 2026
8a71d5c
Add event date provenance columns and drop lab-absolute path defaults.
sarahkanee Aug 7, 2026
03eac07
Simplify CCMMF env paths: stable LandIQ dirs and clearer names.
sarahkanee Aug 7, 2026
7725833
Sync LandIQ crop-code lookup with latin_names from management.
sarahkanee Aug 7, 2026
f1b1f61
Restructure CCMMF data roots: inputs, lookups, and inventory/projecti…
sarahkanee Aug 7, 2026
4fafaf1
Polish Session 0 setup docs for the new data layout.
sarahkanee Aug 7, 2026
19e0c49
Replace em dash with ASCII in Session 0 setup.
sarahkanee Aug 7, 2026
8044dd7
Clarify year-pair inventory concept and unify session Context diagrams.
sarahkanee Aug 8, 2026
e7bb6b2
Clarify LandIQ session workflow and separate COVER from gap-fill.
sarahkanee Aug 9, 2026
82ad950
Polish CCMMF training docs and LandIQ gap-fill for the year-pair inve…
sarahkanee Aug 11, 2026
09a41e2
Walk Session 1 through the S3 year-pair update and flatten LandIQ wor…
sarahkanee Aug 11, 2026
44fa6bd
Tighten Session 0 env checks and show a CDL fraction glimpse in Sessi…
sarahkanee Aug 11, 2026
b13fec1
Split Session 0 into one-time clone vs every-shell setup and derive p…
sarahkanee Aug 11, 2026
7b4a3fd
Remove internal review notes and test env yaml from the training docs…
sarahkanee Aug 11, 2026
dc82eb0
Remove the documentation index README from the training tree.
sarahkanee Aug 11, 2026
16c517f
Remove the stale pipeline.md stub and point remaining links at the tr…
sarahkanee Aug 11, 2026
4c1b127
Add the CDL x LandIQ probability and ADOY reference tables to landiq-…
sarahkanee Aug 11, 2026
a13c5c6
Download CDL from the NASS national zip and clip to California.
sarahkanee Aug 11, 2026
12006e4
Keep only the eight gap-fill lookup tables in landiq-gapfill/outputs.
sarahkanee Aug 11, 2026
ec24691
Tighten Session 1 so the intro, download, and harmonize steps do not …
sarahkanee Aug 11, 2026
9884571
Restructure the gap-fill README as a method reference instead of a se…
sarahkanee Aug 11, 2026
3141262
Remove unused landiq-gapfill helpers that no command path called.
sarahkanee Aug 11, 2026
82629b3
Document full-gap CLASS prediction from neighbor transitions and CDL.
sarahkanee Aug 11, 2026
ae0049f
Escape pipes in the gap-fill README lookup table.
sarahkanee Aug 11, 2026
56f2682
Fixed wording.
sarahkanee Aug 11, 2026
e69d376
Tell Session 1 which years the shipped lookup tables use.
sarahkanee Aug 11, 2026
64c268d
Have crop and ADOY read whatever lookup tables are in outputs/.
sarahkanee Aug 11, 2026
8c9bb92
Fix merge when carried LandIQ years disagree on column types.
sarahkanee Aug 11, 2026
7b436c2
Merge branch 'develop' into feature/ccmmf-statewide-monitoring-inst
mdietze Aug 11, 2026
dad57ca
Keep LandIQ lookup tables in git but out of the R install tarball.
sarahkanee Aug 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
179 changes: 179 additions & 0 deletions modules/data.remote/inst/ccmmf/LandIQ_cropCode_lookup_table.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
legend_year,PFT,CLASS,SUBCLASS,CLASS_desc,SUBCLASS_desc,is_agricultural,harmonized_SUBCLASS,crops_included
2016,row,G,1,Grain and hay crops,Barley,TRUE,6,""
2021,row,G,2,Grain and hay crops,Wheat,TRUE,2,""
2016,row,G,3,Grain and hay crops,Oats,TRUE,6,""
2021,row,G,6,Grain and hay crops,Miscellaneous grain and hay,TRUE,6,"Barley, cover crops, forage mixes, mixed grain and hay, oats, rye, triticale, vetch"
2016,row,G,7,Grain and hay crops,Mixed grain and hay,TRUE,6,""
2021,row,G,**,Grain and hay crops,(no subclass),TRUE,**,""
2021,rice,R,1,Rice,Rice,TRUE,1,""
2021,rice,R,2,Rice,Wild rice,TRUE,2,""
2021,rice,R,**,Rice,(no subclass),TRUE,**,""
2021,row,F,1,Field crops,Cotton,TRUE,1,""
2021,row,F,2,Field crops,Safflower,TRUE,2,""
2016,row,F,3,Field crops,Flax,TRUE,11,""
2016,row,F,4,Field crops,Hops,TRUE,11,""
2021,row,F,5,Field crops,Sugar beets,TRUE,5,""
2016,row,F,6,Field crops,Corn (field & sweet),TRUE,16,""
2016,row,F,7,Field crops,Grain sorghum,TRUE,16,""
2016,row,F,8,Field crops,Sudan,TRUE,16,""
2016,row,F,9,Field crops,Castor beans,TRUE,11,""
2021,row,F,10,Field crops,Beans (dry),TRUE,10,"Blackeye bean, castor bean, common bean (kidney, pinto, black), garbanzo bean, lima bean"
2021,row,F,11,Field crops,Miscellaneous field,TRUE,11,"Flax, hemp, hops, horseradish, millet, mint, quinoa, sugarcane, mixed field crops; former F3 F4 F9 F14 F15"
2021,row,F,12,Field crops,Sunflowers,TRUE,12,""
2016,row,F,13,Field crops,Hybrid sorghum/sudan,TRUE,16,""
2016,row,F,14,Field crops,Millet,TRUE,11,""
2016,row,F,15,Field crops,Sugar cane,TRUE,11,""
2021,row,F,16,Field crops,"Corn, Sorghum or Sudan (grouped for RS only)",TRUE,16,"Corn (field and sweet), hybrid sorghum/sudan, sorghum, sudan grass; former F6 F7 F8 F13"
2021,row,F,**,Field crops,(no subclass),TRUE,**,""
2021,hay,P,1,Pasture,Alfalfa and alfalfa mixtures,TRUE,1,"Alfalfa, alfalfa mixtures, clover; former P2"
2016,hay,P,2,Pasture,Clover,TRUE,1,""
2021,hay,P,3,Pasture,Mixed pasture,TRUE,3,""
2021,hay,P,4,Pasture,Native pasture,TRUE,4,""
2021,hay,P,5,Pasture,Induced high water table native pasture,TRUE,5,""
2021,hay,P,6,Pasture,Miscellaneous grasses,TRUE,6,"Bermuda grass, forage grass, kleingrass, ryegrass, teff; former P8 P9 P10"
2021,hay,P,7,Pasture,Turf farms,TRUE,7,""
2016,hay,P,8,Pasture,Bermuda grass,TRUE,6,""
2016,hay,P,9,Pasture,Rye grass,TRUE,6,""
2016,hay,P,10,Pasture,Klein grass,TRUE,6,""
2021,hay,P,**,Pasture,(no subclass),TRUE,**,""
2016,row,T,1,"Truck, nursery, and berry crops",Artichokes,TRUE,18,""
2016,row,T,2,"Truck, nursery, and berry crops",Asparagus,TRUE,18,""
2016,row,T,3,"Truck, nursery, and berry crops",Beans (green),TRUE,18,""
2021,row,T,4,"Truck, nursery, and berry crops",Cole crops (mixture of 22-25),TRUE,4,"Broccoli, broccolini, Brussels sprouts, cabbage, cauliflower, collard, kale, kohlrabi, mixed cole crops; former T22-T25"
2021,row,T,6,"Truck, nursery, and berry crops",Carrots,TRUE,6,""
2016,row,T,7,"Truck, nursery, and berry crops",Celery,TRUE,18,""
2016,row,T,8,"Truck, nursery, and berry crops",Lettuce (all types),TRUE,30,""
2021,row,T,9,"Truck, nursery, and berry crops","Melons, squash, cucumbers",TRUE,9,"Cantaloupe, cucumber, gourd, honeydew, melon, pumpkin, spaghetti squash, squash, watermelon, yellow squash, zucchini, mixed cucurbits"
2021,row,T,10,"Truck, nursery, and berry crops",Onions & garlic,TRUE,10,""
2016,row,T,11,"Truck, nursery, and berry crops",Peas,TRUE,18,""
2021,row,T,12,"Truck, nursery, and berry crops",Potatoes,TRUE,12,""
2021,row,T,13,"Truck, nursery, and berry crops",Sweet potatoes,TRUE,13,""
2016,row,T,14,"Truck, nursery, and berry crops",Spinach,TRUE,30,""
2016,row,T,15,"Truck, nursery, and berry crops",Tomatoes (processing),TRUE,32,""
2021,row,T,16,"Truck, nursery, and berry crops","Flowers, nursery, Christmas trees",TRUE,16,"Cannabis, Christmas trees, cut flowers, lavender, Mexican fan palm, ornamental nursery, crop transplant nursery, tree nursery"
2016,row,T,17,"Truck, nursery, and berry crops",Mixed (>=4 crops),TRUE,18,""
2021,row,T,18,"Truck, nursery, and berry crops",Miscellaneous truck,TRUE,18,"Artichoke, Asian leafy vegetables, asparagus, basil, beet, bok choy, broccoli rabe, celery, chard, Chinese cabbage, chives, cilantro, eggplant, fennel, green bean, leek, lemongrass, okra, other herbs, parsley, parsnip, pea, radish, tomatillo, turnip, mixed truck; former T1 T2 T3 T7 T11 T17 T29"
2021,woody,T,19,"Truck, nursery, and berry crops",Bush berries,TRUE,19,""
2021,row,T,20,"Truck, nursery, and berry crops",Strawberries,TRUE,20,""
2021,row,T,21,"Truck, nursery, and berry crops",Peppers,TRUE,21,""
2016,row,T,22,"Truck, nursery, and berry crops",Broccoli,TRUE,4,""
2016,row,T,23,"Truck, nursery, and berry crops",Cabbage,TRUE,4,""
2016,row,T,24,"Truck, nursery, and berry crops",Cauliflower,TRUE,4,""
2016,row,T,25,"Truck, nursery, and berry crops",Brussels sprouts,TRUE,4,""
2016,row,T,26,"Truck, nursery, and berry crops",Tomatoes (market),TRUE,32,""
2021,row,T,27,"Truck, nursery, and berry crops",Greenhouse,TRUE,27,""
2016,woody,T,28,"Truck, nursery, and berry crops",Blueberries,TRUE,19,""
2016,row,T,29,"Truck, nursery, and berry crops",Asian leafy vegetables,TRUE,18,""
2021,row,T,30,"Truck, nursery, and berry crops",Lettuce or leafy greens (grouped for RS only),TRUE,30,"Arugula, leaf lettuce, head lettuce, shaved lettuce, spinach, spring mix; former T8 T14"
2016,row,T,31,"Truck, nursery, and berry crops",Potato or sweet potato (grouped for RS only),TRUE,31,""
2021,row,T,32,"Truck, nursery, and berry crops",Tomatoes,TRUE,32,"Fresh market tomato, processing tomato; former T15 T26"
2021,row,T,**,"Truck, nursery, and berry crops",(no subclass),TRUE,**,""
2021,woody,D,1,Deciduous fruits and nuts,Apples,TRUE,1,""
2021,woody,D,2,Deciduous fruits and nuts,Apricots,TRUE,2,""
2021,woody,D,3,Deciduous fruits and nuts,Cherries,TRUE,3,""
2021,woody,D,5,Deciduous fruits and nuts,Peaches and nectarines,TRUE,5,""
2021,woody,D,6,Deciduous fruits and nuts,Pears,TRUE,6,""
2021,woody,D,7,Deciduous fruits and nuts,Plums,TRUE,7,""
2021,woody,D,8,Deciduous fruits and nuts,Prunes,TRUE,8,""
2016,woody,D,9,Deciduous fruits and nuts,Figs,TRUE,10,""
2021,woody,D,10,Deciduous fruits and nuts,Miscellaneous deciduous,TRUE,10,"Chestnuts, figs, hazelnuts, jujube, persimmons, mixed deciduous; former D9 D11"
2016,woody,D,11,Deciduous fruits and nuts,Mixed deciduous,TRUE,10,""
2021,woody,D,12,Deciduous fruits and nuts,Almonds,TRUE,12,""
2021,woody,D,13,Deciduous fruits and nuts,Walnuts,TRUE,13,""
2021,woody,D,14,Deciduous fruits and nuts,Pistachios,TRUE,14,""
2021,woody,D,15,Deciduous fruits and nuts,Pomegranates,TRUE,15,""
2016,woody,D,16,Deciduous fruits and nuts,Plums/Prunes/Apricots (grouped for RS),TRUE,16,""
2021,woody,D,17,Deciduous fruits and nuts,Pecans,TRUE,17,""
2021,woody,D,**,Deciduous fruits and nuts,(no subclass),TRUE,**,""
2016,woody,C,1,Citrus and subtropical,Grapefruit,TRUE,**,""
2016,woody,C,2,Citrus and subtropical,Lemons,TRUE,**,""
2016,woody,C,3,Citrus and subtropical,Oranges,TRUE,**,""
2021,woody,C,4,Citrus and subtropical,Dates,TRUE,4,""
2021,woody,C,5,Citrus and subtropical,Avocados,TRUE,5,""
2021,woody,C,6,Citrus and subtropical,Olives,TRUE,6,""
2021,woody,C,7,Citrus and subtropical,Miscellaneous subtropical fruits,TRUE,7,"Cactus, cherimoya, guava, jojoba, mango, Mexican hawthorn, moringa, mixed subtropical fruits; former C9 C11"
2021,woody,C,8,Citrus and subtropical,Kiwis,TRUE,8,""
2016,woody,C,9,Citrus and subtropical,Jojoba,TRUE,7,""
2021,woody,C,10,Citrus and subtropical,Eucalyptus,TRUE,10,""
2016,woody,C,11,Citrus and subtropical,Mixed subtropical fruits,TRUE,7,""
2021,woody,C,**,Citrus and subtropical,(no subclass),TRUE,**,"Clementine, grapefruit, kumquat, lemon, lime, orange, mixed citrus, pomelo, tangelo, tangerine; former C1 C2 C3"
2016,woody,V,1,Vineyards,Table grapes,TRUE,**,""
2016,woody,V,2,Vineyards,Wine grapes,TRUE,**,""
2016,woody,V,3,Vineyards,Raisin grapes,TRUE,**,""
2021,woody,V,**,Vineyards,Vineyard (subclass not specified in tabular data),TRUE,**,"Raisin grapes, table grapes, wine grapes; former V1 V2 V3"
2021,woody,YP,**,Young Perennial,(no subclass),TRUE,**,""
2021,other,X,**,Unclassified fallow,(no subclass),TRUE,**,""
2021,other,I,1,Idle,Land not cropped (recently cropped),TRUE,1,""
2016,other,I,2,Idle,New lands prepped for production,TRUE,1,""
2021,other,I,4,Idle,Long-term idle (>=4 years),TRUE,4,""
2021,other,I,**,Idle,(no subclass),TRUE,**,""
2021,noncrop,S,1,Semi-agricultural & incidental to agriculture,Farmsteads (with residence),FALSE,1,""
2021,noncrop,S,2,Semi-agricultural & incidental to agriculture,Livestock feed lot operations,FALSE,2,""
2021,noncrop,S,3,Semi-agricultural & incidental to agriculture,Dairies,FALSE,3,""
2021,noncrop,S,4,Semi-agricultural & incidental to agriculture,Poultry farms,FALSE,4,""
2021,noncrop,S,5,Semi-agricultural & incidental to agriculture,Farmsteads (without residence),FALSE,5,""
2021,noncrop,S,6,Semi-agricultural & incidental to agriculture,Miscellaneous semi-agricultural,FALSE,6,""
2021,noncrop,U,**,Urban (residential commercial industrial unsegregated),(no subclass),FALSE,**,""
2021,noncrop,UR,1,Urban residential,Single family dwellings (low density),FALSE,1,""
2021,noncrop,UR,2,Urban residential,Single family dwellings (higher density),FALSE,2,""
2021,noncrop,UR,3,Urban residential,"Multi-family (apartments, condos, etc.)",FALSE,3,""
2021,noncrop,UR,4,Urban residential,Trailer courts,FALSE,4,""
2021,noncrop,UC,1,Urban commercial,"Offices, retailers",FALSE,1,""
2021,noncrop,UC,2,Urban commercial,Hotels,FALSE,2,""
2021,noncrop,UC,3,Urban commercial,Motels,FALSE,3,""
2021,noncrop,UC,4,Urban commercial,"Recreation vehicle parking, campsites",FALSE,4,""
2021,noncrop,UC,5,Urban commercial,"Institutions (hospitals, prisons, etc.)",FALSE,5,""
2021,noncrop,UC,6,Urban commercial,Schools,FALSE,6,""
2021,noncrop,UC,7,Urban commercial,"Theaters, churches, stadiums, amusement",FALSE,7,""
2021,noncrop,UC,8,Urban commercial,Miscellaneous high-water use commercial,FALSE,8,""
2021,noncrop,UI,1,Urban industrial,"Manufacturing, assembling, processing",FALSE,1,""
2021,noncrop,UI,2,Urban industrial,"Extractive industries (oil, quarries, etc.)",FALSE,2,""
2021,noncrop,UI,3,Urban industrial,Storage and distribution,FALSE,3,""
2021,noncrop,UI,6,Urban industrial,Saw mills,FALSE,6,""
2021,noncrop,UI,7,Urban industrial,Oil refineries,FALSE,7,""
2021,noncrop,UI,8,Urban industrial,Paper mills,FALSE,8,""
2021,noncrop,UI,9,Urban industrial,Meat packing plants,FALSE,9,""
2021,noncrop,UI,10,Urban industrial,Steel/aluminum mills,FALSE,10,""
2021,noncrop,UI,11,Urban industrial,"Food processing (canning, etc.)",FALSE,11,""
2021,noncrop,UI,12,Urban industrial,Miscellaneous high-water use industrial,FALSE,12,""
2021,noncrop,UI,13,Urban industrial,Sewage treatment plants,FALSE,13,""
2021,noncrop,UI,14,Urban industrial,"Waste sites (dumps, landfills, hazardous)",FALSE,14,""
2021,noncrop,UI,15,Urban industrial,"Wind farms, solar farms",FALSE,15,""
2021,noncrop,UL,1,Urban landscape,Lawn area irrigated,FALSE,1,""
2021,noncrop,UL,2,Urban landscape,Golf course irrigated,FALSE,2,""
2021,noncrop,UL,3,Urban landscape,Ornamental landscape irrigated,FALSE,3,""
2021,noncrop,UL,4,Urban landscape,Cemeteries irrigated,FALSE,4,""
2021,noncrop,UL,5,Urban landscape,Cemeteries not irrigated,FALSE,5,""
2021,noncrop,UV,1,Urban vacant,"Unpaved areas, vacant lots",FALSE,1,""
2021,noncrop,UV,3,Urban vacant,Railroad right of way,FALSE,3,""
2021,noncrop,UV,4,Urban vacant,"Paved areas, parking lots",FALSE,4,""
2021,noncrop,UV,6,Urban vacant,Airport runways,FALSE,6,""
2021,noncrop,UV,7,Urban vacant,Non-developable urban land,FALSE,7,""
2021,noncrop,NC,**,Native classes unsegregated,(no subclass),FALSE,**,""
2021,noncrop,NV,1,Native vegetation,Grassland,FALSE,1,""
2021,noncrop,NV,2,Native vegetation,Light brush,FALSE,2,""
2021,noncrop,NV,3,Native vegetation,Medium brush,FALSE,3,""
2021,noncrop,NV,4,Native vegetation,Heavy brush,FALSE,4,""
2021,noncrop,NV,5,Native vegetation,Brush and timber,FALSE,5,""
2021,noncrop,NV,6,Native vegetation,Forest,FALSE,6,""
2021,noncrop,NV,7,Native vegetation,Oak woodland,FALSE,7,""
2021,noncrop,NR,1,Native riparian vegetation,"Marsh lands, tules, sedges",FALSE,1,""
2021,noncrop,NR,2,Native riparian vegetation,Natural high-water table meadow,FALSE,2,""
2021,noncrop,NR,3,Native riparian vegetation,Trees/shrubs streamside vegetation,FALSE,3,""
2021,noncrop,NR,4,Native riparian vegetation,Seasonal duck marsh,FALSE,4,""
2021,noncrop,NR,5,Native riparian vegetation,Permanent duck marsh,FALSE,5,""
2021,noncrop,NW,1,Water surface,River or stream,FALSE,1,""
2021,noncrop,NW,2,Water surface,Irrigation/urban water channels,FALSE,2,""
2021,noncrop,NW,3,Water surface,Drainage water channels,FALSE,3,""
2021,noncrop,NW,4,Water surface,"Freshwater lake, reservoir, pond",FALSE,4,""
2021,noncrop,NW,5,Water surface,Brackish/saline water,FALSE,5,""
2021,noncrop,NW,6,Water surface,Wastewater pond,FALSE,6,""
2021,noncrop,NW,7,Water surface,Paved flood channels (urban),FALSE,7,""
2021,noncrop,NB,1,Barren and wasteland,Dry stream channels,FALSE,1,""
2021,noncrop,NB,2,Barren and wasteland,Mine tailings,FALSE,2,""
2021,noncrop,NB,3,Barren and wasteland,Barren land,FALSE,3,""
2021,noncrop,NB,4,Barren and wasteland,Salt flats,FALSE,4,""
2021,noncrop,NB,5,Barren and wasteland,Sand dunes,FALSE,5,""
2021,noncrop,NS,**,Not surveyed,(no subclass),FALSE,**,""
2021,noncrop,E,**,Entry denied,(no subclass),FALSE,**,""
2021,noncrop,Z,**,Outside study area,(no subclass),FALSE,**,""
34 changes: 34 additions & 0 deletions modules/data.remote/inst/ccmmf/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# CCMMF statewide monitoring (`inst/ccmmf`)

California LandIQ → phenology → management-event pipeline scripts for PEcAn.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I was looking in this folder for the first time, how would I know what this is? You need to start more broadly and explain yourself. Also, I don't think it's fair to assume that the ONLY thing you'll end up putting in the data.remote/insts/ccmmf folder will be phenology


**Documentation (start here):** [documentation/README.md](documentation/README.md)
**Environment setup:** [documentation/sessions/00-environment.md](documentation/sessions/00-environment.md)
**PR:** https://github.com/PecanProject/pecan/pull/3913

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure why the documentation would reference a PR. Drop


## Layout

| Path | Role |
|------|------|
| `documentation/` | Stakeholder sessions + `pipeline.md` + `ccmmf_env.example.sh` |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Expand every single "role". Even knowing how this workflow works, I find the descriptions overly terse and cryptic. Any time you read/write documentation or tutorials, you have to put yourself in the shoes of someone who has never heard of what you're doing and is looking at this project for the first time

| `landiq-gapfill/` | Crop/ADOY gap-fill → LandIQ v4.1.2 product |
| `mslsp-extract/` | MSLSP parcel extract (needs sibling `hls/_lib`) |
| `ndti-extract/` | NDTI parcel extract (needs sibling `hls/_lib`) |
| `hls/` | Parcel–tile map + shared tilewise `_lib` |
| `phenology/` | Match LandIQ↔MSLSP + date gap-fill |
| `traits/` | Planting/harvest trait lookups |
| `events/` | Statewide phenology/planting/harvest/tillage events |
| `tillage/` | NDTI tillage metrics helpers |
| `LandIQ_cropCode_lookup_table.csv` | Crop metadata / PFT |

## Quick start

```bash
export CCMMF_CODE="$(pwd)/modules/data.remote/inst/ccmmf" # from PEcAn clone

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't start a "quick start" with a chunk of code that has zero explanation of what it does or why it's being run. I also think there's a high likelihood this particular chunk of code will fail as (a) if you're looking at this script then the folder it is in is the PWD, not the pecan root and (b) the user probably doesn't actually want to copy this script to their home directory, they probably want to keep it inside pecan or some sort of project directory.

cp "$CCMMF_CODE/documentation/ccmmf_env.example.sh" ~/ccmmf_env.sh
# edit paths, then:
source ~/ccmmf_env.sh
```

Set `HLS_SHARED_LIB=$CCMMF_CODE/hls/_lib` if auto-detection fails. Upstream HLS/MSLSP

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also overly cryptic

NetCDF production: [HLS_Phenology](https://github.com/mrinareddy/HLS_Phenology).
56 changes: 56 additions & 0 deletions modules/data.remote/inst/ccmmf/documentation/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# CCMMF monitoring pipeline - documentation

**You are here to process a new LandIQ year.**

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's LandIQ? what's a LandIQ year? Why would I want to process one and what does that mean?


This training walkthrough adds **2024** and re-runs **2023** (the year pair).
You work on **your own Linux cloud / HPC** (not BU SCC).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This statement is only meaningful to people who ARE working on the BU SCC. No one else will know what that is or consider that the "default"


| Variable | Value in this training |
|----------|-------------------------|
| `TARGET_YEAR` | **2024** (new CADWR / LandIQ release) |
| `PRIOR_YEAR` | **2023** (re-gap-fill, rematch, rebuild events with the new series) |

When CADWR releases a later year, use the same steps with
`TARGET_YEAR=<new>` and `PRIOR_YEAR=<new-1>`.

**Code on GitHub:** [PR #3913](https://github.com/PecanProject/pecan/pull/3913) -
branch `feature/ccmmf-statewide-monitoring-inst` ->
`modules/data.remote/inst/ccmmf/`.

---

## Start here (read in order)

| Step | Open | You will |
|-----:|------|----------|
| 0 | [sessions/00-environment.md](sessions/00-environment.md) | Clone code, install R (+ pixi for Python), create `$CCMMF_ROOT`, `source` your env file |
| - | [ccmmf_env.example.sh](ccmmf_env.example.sh) | Copy to `$CCMMF_ROOT/ccmmf_env.sh` and set paths / years |
| 1 | [sessions/01-landiq.md](sessions/01-landiq.md) | Download LandIQ **2024**, harmonize geometry, gap-fill **2023,2024** |
| spine | [pipeline.md](pipeline.md) | Full year-pair checklist after LandIQ (HLS -> MSLSP/NDTI -> match -> events) |
| 2 | [sessions/02-phenology.md](sessions/02-phenology.md) | Phenology extract, match, planting/harvest events for **2023 and 2024** |
| 3 | [sessions/03-tillage-fertilizer.md](sessions/03-tillage-fertilizer.md) | NDTI tillage (opt-in); fert notes |
| 4 | [sessions/04-irrigation.md](sessions/04-irrigation.md) | Irrigation (parallel; same parcels) |

**Two languages, two repos**

| Part | Language / tool | Repo |
|------|-----------------|------|
| Harmonize LandIQ parcels | **Python** via **pixi** | [ccmmf/cadwr-landuse](https://github.com/ccmmf/cadwr-landuse) (`feature/auto-discover-landiq-years` until on `main`) |
| Gap-fill, extract, match, events | **R** (`Rscript` / `run_*.sh`) | PEcAn `inst/ccmmf/` (this PR) |

Session write-ups are the training path. Package READMEs next to the code
(`landiq-gapfill/`, `mslsp-extract/`, …) are optional detail (flags, QC) linked
from sessions - not a second curriculum.

---

## What "done" looks like for this training

After Sessions 0-2 (core):

1. LandIQ **2024** is in your harmonized crop table and gap-filled product.
2. **2023** and **2024** are gap-filled in `LandIQ-harmonized-v4.1.2` (or your writable copy).
3. Matched MSLSP + planting/harvest/phenology events exist for **both** years.

Lab note: a historical **2016-2023** product already exists on BU SCC. Your job in
training is the **year-pair update**, not rebuilding all history from scratch.
Loading
Loading