Skip to content

Commit a6ec479

Browse files
author
Eddy
committed
Fix education field rendering - handle optional field property
1 parent 2e5a078 commit a6ec479

27 files changed

Lines changed: 2093 additions & 1 deletion

content/people/adam-oliphant.mdx

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
title: Adam J Oliphant
3+
role: PhD Student
4+
excerpt: >-
5+
Joint Doctoral Program in Geography at San Diego State University and UC Santa Barbara.
6+
Focuses on remote sensing, hydrology, and agricultural water management.
7+
avatar: /images/people/adam-oliphant.jpg
8+
tags:
9+
- UCSB
10+
- SDSU
11+
- phd student
12+
- current member
13+
- remote sensing
14+
- hydrology
15+
- agriculture
16+
slug: adam-oliphant
17+
email: aoliphant@ucsb.edu
18+
location: 'Santa Barbara, CA'
19+
name: Adam J Oliphant
20+
status: current
21+
---
22+
23+
Adam J Oliphant is a PhD student in the Joint Doctoral Program in Geography at San Diego State University and UC Santa Barbara. His research focuses on remote sensing, hydrology, and agricultural water management, with an emphasis on using satellite data to evaluate irrigation efficiency and conservation programs.
24+
25+
## Research Interests
26+
27+
Adam's research centers on understanding how irrigation practices, conservation programs, and crop changes affect agricultural water use in arid environments. His work combines satellite-based evapotranspiration measurements, water balance calculations, and field-level agricultural data to assess water use efficiency and the impacts of conservation technologies.
28+
29+
## Current Projects
30+
31+
Adam's dissertation research evaluates evapotranspiration and water conservation in California's Imperial Valley, one of the largest irrigation districts in the United States. The project uses OpenET satellite products and field-level data to understand how irrigation modernization programs affect water use patterns in intensive agricultural systems.
32+
33+
## Tools and Methods
34+
35+
Adam uses a combination of geospatial and data science tools including R, Python, Google Earth Engine, ArcGIS Pro, and QGIS. His methodological approaches include statistical modeling, difference-in-differences analysis, and panel data analysis for evaluating conservation program impacts.

scripts/add-adam-person.ts

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
#!/usr/bin/env tsx
2+
3+
import dotenv from 'dotenv';
4+
import path from 'path';
5+
6+
dotenv.config({ path: path.resolve(process.cwd(), '.env.local') });
7+
8+
async function main() {
9+
const mod: any = await import('../src/lib/cms/client');
10+
11+
// Check if Adam already exists
12+
const existingQuery = '*[_type == "person" && slug.current == "adam-oliphant"][0]';
13+
const existing = await mod.client.fetch(existingQuery);
14+
15+
if (existing) {
16+
console.log('✅ Adam Oliphant already exists in Sanity!');
17+
console.log('Person ID:', existing._id);
18+
console.log('View at: https://waves2025.sanity.studio/desk/person;' + existing._id);
19+
return;
20+
}
21+
22+
const personData = {
23+
_type: 'person',
24+
name: 'Adam J Oliphant',
25+
slug: {
26+
_type: 'slug',
27+
current: 'adam-oliphant'
28+
},
29+
email: 'aoliphant@ucsb.edu',
30+
role: 'PhD Student',
31+
affiliation: 'Joint Doctoral Program in Geography, SDSU & UC Santa Barbara',
32+
bio: `Adam J Oliphant is a PhD student in the Joint Doctoral Program in Geography at San Diego State University and UC Santa Barbara. His research focuses on remote sensing, hydrology, and agricultural water management, with an emphasis on using satellite data to evaluate irrigation efficiency and conservation programs.
33+
34+
His dissertation research evaluates evapotranspiration and water conservation in California's Imperial Valley, one of the largest irrigation districts in the United States. The project uses OpenET satellite products and field-level data to understand how irrigation modernization programs affect water use patterns in intensive agricultural systems.`,
35+
researchAreas: [
36+
'Remote Sensing',
37+
'Hydrology',
38+
'Agricultural Water Management',
39+
'Evapotranspiration',
40+
'Irrigation Efficiency',
41+
'Water Conservation'
42+
],
43+
userGroup: 'current',
44+
category: 'phd_student',
45+
tags: [
46+
'UCSB',
47+
'SDSU',
48+
'phd student',
49+
'current member',
50+
'remote sensing',
51+
'hydrology',
52+
'agriculture'
53+
]
54+
};
55+
56+
console.log('Creating person record in Sanity...');
57+
const result = await mod.client.create(personData);
58+
console.log('✅ Person created successfully!');
59+
console.log('Person ID:', result._id);
60+
console.log('View at: https://waves2025.sanity.studio/desk/person;' + result._id);
61+
}
62+
63+
main().catch((err) => {
64+
console.error('Error:', err);
65+
process.exit(1);
66+
});

scripts/add-anna-boser.ts

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
#!/usr/bin/env tsx
2+
3+
import dotenv from 'dotenv';
4+
import path from 'path';
5+
import { createClient } from '@sanity/client';
6+
7+
dotenv.config({ path: path.resolve(process.cwd(), '.env.local') });
8+
9+
async function main() {
10+
const client = createClient({
11+
projectId: process.env.NEXT_PUBLIC_SANITY_PROJECT_ID!,
12+
dataset: process.env.NEXT_PUBLIC_SANITY_DATASET!,
13+
apiVersion: '2023-12-19',
14+
useCdn: false,
15+
token: process.env.SANITY_API_EDITOR_TOKEN!,
16+
});
17+
18+
// Check if Anna already exists
19+
const existing = await client.fetch(
20+
'*[_type == "person" && slug.current == "anna-boser"][0]'
21+
);
22+
23+
if (existing) {
24+
console.log('✅ Anna Boser already exists in Sanity!');
25+
console.log('Person ID:', existing._id);
26+
return;
27+
}
28+
29+
const bioShort = "Environmental scientist and PhD student studying water in agriculture using satellite remote sensing and machine learning.";
30+
31+
const bioLong = `Anna Boser is an environmental scientist and PhD student at the Bren School of Environmental Science & Management at UC Santa Barbara. Her research focuses on water in agriculture, using satellite remote sensing and machine learning to study irrigation practices and their impact on water resources, particularly in water-scarce regions. Anna's work aims to inform sustainable water management strategies that enhance food security and economic prosperity in both data-rich agricultural regions like California and under-resourced areas in Sub-Saharan Africa.
32+
33+
However, her technical expertise also extends to other topics, such as the remote sensing of mosquito-borne disease risk and enhancing the usability of spatio-temporal climate data and machine learning models.
34+
35+
She is supported by an NSF GRFP, the Eugene Cota-Robles Fellowship, and a Fulbright Fellowship. Anna holds a BA in Statistics from UC Berkeley, where she was recognized as the top graduating senior in 2020, and is the 2024 recipient of the AGU Science for Solutions Award.
36+
37+
Anna is advised by Ashley Larsen and Kelly Caylor.`;
38+
39+
const personData = {
40+
_type: 'person',
41+
_id: 'person-anna-boser',
42+
name: 'Anna Boser',
43+
slug: {
44+
_type: 'slug',
45+
current: 'anna-boser'
46+
},
47+
title: 'PhD Student',
48+
category: 'graduate-student',
49+
userGroup: 'alumni',
50+
email: 'annaboser@ucsb.edu',
51+
bio: bioShort,
52+
bioLong: bioLong,
53+
education: [
54+
{
55+
_key: 'edu-1',
56+
degree: 'BA',
57+
field: 'Statistics',
58+
institution: 'UC Berkeley',
59+
year: 2020
60+
}
61+
],
62+
researchInterests: [
63+
'Water in Agriculture',
64+
'Satellite Remote Sensing',
65+
'Machine Learning',
66+
'Irrigation Practices',
67+
'Water Resources',
68+
'Sustainable Water Management',
69+
'Food Security',
70+
'Climate Data',
71+
'Spatio-temporal Modeling'
72+
],
73+
isActive: false, // Alumni
74+
};
75+
76+
console.log('Creating person record in Sanity...');
77+
const result = await client.create(personData);
78+
console.log('✅ Person created successfully!');
79+
console.log('Person ID:', result._id);
80+
console.log('Slug:', result.slug.current);
81+
}
82+
83+
main().catch((err) => {
84+
console.error('Error:', err?.message || err);
85+
process.exit(1);
86+
});

scripts/add-huck-rees.ts

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
#!/usr/bin/env tsx
2+
3+
import dotenv from 'dotenv';
4+
import path from 'path';
5+
import { createClient } from '@sanity/client';
6+
7+
dotenv.config({ path: path.resolve(process.cwd(), '.env.local') });
8+
9+
async function main() {
10+
const client = createClient({
11+
projectId: process.env.NEXT_PUBLIC_SANITY_PROJECT_ID!,
12+
dataset: process.env.NEXT_PUBLIC_SANITY_DATASET!,
13+
apiVersion: '2023-12-19',
14+
useCdn: false,
15+
token: process.env.SANITY_API_EDITOR_TOKEN!,
16+
});
17+
18+
// Check if Huck already exists
19+
const existing = await client.fetch(
20+
'*[_type == "person" && slug.current == "huck-rees"][0]'
21+
);
22+
23+
if (existing) {
24+
console.log('✅ Huck Rees already exists in Sanity!');
25+
console.log('Person ID:', existing._id);
26+
return;
27+
}
28+
29+
const bioShort = "PhD student in Geography studying river systems, floodplains, and wetland dynamics. Researches sediment transport, water availability, carbon sequestration, and river morphology across multiple scales.";
30+
31+
const bioLong = `Huck is a PhD student in Geography at UC Santa Barbara studying the dynamics of rivers, floodplains, and wetlands and how they respond to change. His work spans questions of sediment transport and storage, water availability, carbon sequestration, and river morphology, connecting processes across a wide range of scales and environments. At the global scale, he develops globally applicable tools for mapping river systems and tracing how sediment is routed and stored across large drainage networks, drawing on remote sensing archives and numerical modeling to build a more complete picture of how the world's rivers function. At the regional scale, he investigates how shifting channel networks in the Okavango Delta redistribute water and reshape wetland ecosystems in response to flood pulses. Closer to home, he studies how beaver-based restoration alters channel morphology, stores sediment, and improves conditions for carbon storage and ecosystem recovery. Drawing on fieldwork, satellite observation, and computational modeling, his research seeks to understand how natural and managed changes to river systems ripple through watersheds, and how thoughtful, empirically driven monitoring and intervention can build resilience in a rapidly changing world.`;
32+
33+
const personData = {
34+
_type: 'person',
35+
_id: 'person-huck-rees',
36+
name: 'Huck Rees',
37+
slug: {
38+
_type: 'slug',
39+
current: 'huck-rees'
40+
},
41+
title: 'PhD Student',
42+
category: 'graduate-student',
43+
userGroup: 'current',
44+
email: 'jamesrees@ucsb.edu',
45+
bio: bioShort,
46+
bioLong: bioLong,
47+
socialMedia: {
48+
orcid: '0009-0004-4895-2243',
49+
googleScholar: 'https://scholar.google.com/citations?user=VdIf-LkAAAAJ&hl=en',
50+
linkedin: 'https://www.linkedin.com/in/james-rees-12b205157/',
51+
},
52+
education: [
53+
{
54+
_key: 'edu-1',
55+
degree: 'BA',
56+
field: 'Geology and History (Minor: GIS)',
57+
institution: 'UC Davis',
58+
year: 2019
59+
},
60+
{
61+
_key: 'edu-2',
62+
degree: 'MA',
63+
field: 'Geography (Fluvial Geomorphology, Hydrology Certificate)',
64+
institution: 'University of Colorado Boulder',
65+
year: 2021
66+
}
67+
],
68+
researchInterests: [
69+
'River Systems',
70+
'Floodplain Dynamics',
71+
'Wetland Ecosystems',
72+
'Sediment Transport',
73+
'Water Availability',
74+
'Carbon Sequestration',
75+
'River Morphology',
76+
'Remote Sensing',
77+
'Fluvial Geomorphology',
78+
'Beaver-Based Restoration',
79+
'Okavango Delta',
80+
'Watershed Management'
81+
],
82+
isActive: true,
83+
};
84+
85+
console.log('Creating person record in Sanity...');
86+
const result = await client.create(personData);
87+
console.log('✅ Person created successfully!');
88+
console.log('Person ID:', result._id);
89+
console.log('Slug:', result.slug.current);
90+
}
91+
92+
main().catch((err) => {
93+
console.error('Error:', err?.message || err);
94+
process.exit(1);
95+
});
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
#!/usr/bin/env tsx
2+
3+
import dotenv from 'dotenv';
4+
import path from 'path';
5+
6+
dotenv.config({ path: path.resolve(process.cwd(), '.env.local') });
7+
8+
async function main() {
9+
const mod: any = await import('../src/lib/cms/client');
10+
11+
// First, find Adam's person record
12+
const adamQuery = '*[_type == "person" && slug.current == "adam-oliphant"][0]';
13+
const adam = await mod.client.fetch(adamQuery);
14+
15+
if (!adam) {
16+
console.error('Could not find Adam Oliphant in Sanity. Please create person record first.');
17+
process.exit(1);
18+
}
19+
20+
console.log('Found Adam:', adam._id);
21+
22+
const projectData = {
23+
_type: 'project',
24+
title: 'Evaluating Evapotranspiration and Water Conservation in the Imperial Valley',
25+
slug: {
26+
_type: 'slug',
27+
current: 'imperial-valley-et-conservation'
28+
},
29+
shortDescription: 'Evaluating how irrigation practices, conservation programs, and crop changes affect agricultural water use in California\'s Imperial Valley using satellite-based evapotranspiration measurements and field-level data.',
30+
description: `This research evaluates how irrigation practices, conservation programs, and crop changes affect agricultural water use in the Imperial Valley, California. The Imperial Valley is one of the largest irrigation districts in the United States and receives approximately 3.1 million acre-feet of Colorado River water annually through the Imperial Irrigation District (IID).
31+
32+
The project combines satellite-based evapotranspiration (ET) measurements, water balance calculations, and field-level agricultural data to assess how water use has changed over time and how conservation programs have affected irrigation efficiency.`,
33+
status: 'active',
34+
researchAreas: [
35+
'Remote Sensing',
36+
'Hydrology',
37+
'Agricultural Water Management',
38+
'Evapotranspiration',
39+
'Water Conservation',
40+
'Irrigation Efficiency'
41+
],
42+
tags: [
43+
'OpenET',
44+
'Imperial Valley',
45+
'Colorado River',
46+
'Satellite Remote Sensing',
47+
'Water Balance',
48+
'Conservation Programs',
49+
'Landsat'
50+
],
51+
participants: [
52+
{
53+
_type: 'object',
54+
person: {
55+
_type: 'reference',
56+
_ref: adam._id
57+
},
58+
role: 'PhD Researcher',
59+
affiliation: 'SDSU / UC Santa Barbara',
60+
isPrimaryInvestigator: true
61+
}
62+
],
63+
technologies: [
64+
'R',
65+
'Python',
66+
'Google Earth Engine',
67+
'ArcGIS Pro',
68+
'QGIS',
69+
'OpenET'
70+
],
71+
methods: [
72+
'Water Balance Analysis',
73+
'Satellite Evapotranspiration',
74+
'Field-Level Analysis',
75+
'Statistical Modeling',
76+
'Difference-in-Differences Analysis',
77+
'Panel Data Analysis'
78+
],
79+
isFeatured: false,
80+
isPublic: true,
81+
seo: {
82+
metaDescription: 'Research evaluating irrigation efficiency and water conservation in California\'s Imperial Valley using satellite evapotranspiration data and field measurements.',
83+
keywords: [
84+
'evapotranspiration',
85+
'Imperial Valley',
86+
'water conservation',
87+
'irrigation efficiency',
88+
'OpenET',
89+
'satellite remote sensing',
90+
'agricultural water use'
91+
]
92+
}
93+
};
94+
95+
console.log('Creating project in Sanity...');
96+
const result = await mod.client.create(projectData);
97+
console.log('✅ Project created successfully!');
98+
console.log('Project ID:', result._id);
99+
console.log('View at: https://waves2025.sanity.studio/desk/project;' + result._id);
100+
}
101+
102+
main().catch((err) => {
103+
console.error('Error:', err);
104+
process.exit(1);
105+
});

0 commit comments

Comments
 (0)